- nebula 版本:2022.06.26-nightly
- 部署方式:单机
- 安装方式:Docker
- 是否为线上版本:Y / N
具体问题:
无属性索引的时候,在没有指定条件的时候,可以通过 数据扫描的sample 下推去扫得 limit 的数据,而带有filter 条件时候,就需要全扫描才行,这个情况在nebuka里是被禁止的,所以需要创建这个tag 上的索引才能这么查询
那不是每个tag上的属性都需要创建索引?
只有有从属性反查 vid 的情况才需要索引,如果查询的起点能够知道 vertexID,是不需要的
没懂,知道vertexID了去查询的场景很少吧?查询语句里面有了tag,直接从这个tag里面检索不行吗?另外请问有官方交流群吗?
好的,拉人麻烦私信哈。另外麻烦帮忙答疑一下我的问题
只有不得不需要从属性查vid的 tag 才需要创建索引哈。
我那个文章里有解释这个问题哈,如果是从 tag 里随机 sample 几个出来,是不需要索引的,但是只要有了过滤条件,就必须全扫描才能做到了,这在分布式的数据库里是很昂贵的,所以 nebula 强制要求必须建立根据属性排序的索引(才能避开全扫描)才允许。
好的,谢谢。我先从您发的文章看看再理解一下哈
对于每个tag的数据如果需要走属性条件查询只需要一个属性加了索引,其他的不加也可以加属性过滤查询?
嗯嗯,还是看你可能会写的查询条件涉及那些属性,其实顺序也是相关的,尽量让,因为是 prefix scann 左匹配,如果涉及到多条件结合的时候,尽量让需要单独查询条件的属性在左边哈。
如果只涉及到一个属性的反查 vid,那么就只创建它一个的索引。
这个索引只和起点相关,如果起点已经确定了,图拓展过程中的属性过滤不涉及这个索引哈。
3q
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。