在不建立索引的情况下,大家是如何查询数据内容的

今天在测试nebula-importer时发现如果导入数据后,不建立索引就很难实现select * from tb_name 的查询。可以通过这样方式查询 fetch prop on student ‘Monica’,‘Mike’,‘Jane’ ,大家在没有建立索引时如何查询数据内容呢。欢迎大家提出自己的珍藏查询语句

1赞

索引的作用是根据字段的属性找到对应的 VID,然后在根据 VID 找到具体的顶点。如果没有索引就只能通过具体的 VID 查询,就像你提到的 fetch prop

1赞

感觉有点类似hbase的rowkey,如果rowker没有设计好,查询也是个大问题。

如果数据用的hash生成的VID,那么数据是不是几乎不能直接查询出来了?,因为VID需要用同样的hash算法再计算一遍才能得到。

nebula 有把内部计算 hash 的方式提供给用户,你可以用 hash("Mike") 来确定一个 VID

哦哦,在fetch 时可以使用hash函数也很方便。

VID 在全局内必须唯一,那么hash 函数中的字符串应该也是唯一的,如果对应的关系型数据库,在存数据时候是使用VID=hash(主键)且属性里带上主键字段还是VID=主键更好呢?
我觉得应该是VID=主键比较好,节省空间。尽管VID数据类型可以为定长字符串或64位整数。但是还是节省空间,而且在查询是也做了优化,当主键不是定长时,存储为定长,查询使用原来的字符串查询,nebula对于字符串做了优化的。

@yee 你觉得呢?

没有索引的时候还可以这样查询,不过,不一定能查询导全部数据

GO FROM "player109" OVER follow;

浙ICP备20010487号