Nebula Graph 索引详解
index not found? 找不到索引?为什么我要创建 NebulaGraph 索引?什么时候要用到 Nebula Graph 原生索引,一文把这些搞清楚。
updated:
3.x 之后,缺乏索引造成的新报错是:
log
need to specify a limit number, or limit number can not push down. NebulaGraph 的索引其实和传统的关系型数据库中的索引很像,但是又有一些容易让人疑惑的区别。刚开始了解 NebulaGraph 的同学会疑惑于:
不清楚 NebulaGraph 图数据库中的索引到的是什么概念 我应该什么时候使用 NebulaGraph 索引 NebulaGraph 索引怎么影响到写入性能 这篇文章里,我们就把这些问题回答好。
1 到底 NebulaGraph 索引是什么简而言之,NebulaGraph 索引是用来,且只用来针对纯属性条件出发查询场景的
图游走(walk)查询中的属性条件过滤不需要它 纯属性条件出发查询(注:非采样情况)必须创建索引 1.1 纯属性条件出发查询我们知道在传统关系型数据库中,索引是对表数据的一个或多个针对特定列重排序的副本,它用来加速特定列过滤条件的读查询并带来了额外的数据写入(加速而非这样查询的必须前提)。
在 NebulaGraph 图数据库里,索引则是对点、边特定属性数据重排序的副本,用来提供纯属性条件出发查询(如下边的查询:从只给定了点边属性条件,而非点的 ID 出发去获取图数据)
sql
#### 必须 Nebula Graph 索引存在的查询 # query 0 纯属性条件出发查询 LOOKUP ON tag1 WHERE col1 > 1 AND col2 == "foo" \ YIELD tag1.