怎样判断一个标签下有没有数据

很简单的一个问题,怎样判断一个标签下有没有数据? 怎么判断一个边里面有没有数据

submit job stats ; show job $jobId ; show stats;
image
参考:SHOW STATS - NebulaGraph Database 内核手册

办法虽然清奇,但总比没有强。突然很好奇为什么要这样设计呢?还有如何更好的使用这个工具呢。

如果tag或者边上有索引也可以lookup或者match

其实一开始match (n) return n 试一下
这个也是个办法。。

(root@nebula) [basketballplayer]> show tag indexes;
(root@nebula) [basketballplayer]> show edge indexes;

如果只创建单个属性索引 如果查询时没有用到这个字段,会不会报错?会不会有影响?

最后吐槽一下,nebula 如果玩不转索引感觉啥都做不了。 20210510 记录一下,看经过深入的学习会不会删掉这个吐槽

说说为什么这样设计 SHOW STATS:

统计所有边或者点的个数是个全量扫描数据的过程,这往往会非常的耗时,数据量大的情况下,用户也不太可能即时的拿到结果,而且我们认为用户执行统计的操作一般的应用场景是在数据的导入前后或者批量的修改前后,不会是个高频的操作。所以将其设计为一个异步的长时任务的形式。

在 Nebula 中索引的作用可能跟关系数据库中的含义略微不同,索引的作用主要是快速的找到一个顶点或者边的 ID,然后通过该 ID 来做拓展,为什么 ID 那么重要跟数据的在 KV 中的存储格式有关,这个你可以阅读相关架构的文章。

2 个赞

非常耗时,好吧。。这个是一个不错的解决办法。
您有没有推荐的文章呢,因为目前我也很好奇nebula的索引机制。

你可以参考一下这篇索引的文章