为什么Neo4j索引不能与order by一起使用?

时间:2018-08-25 17:59:16

标签: neo4j cypher

对于大型数据库,为什么neo4j order by很慢:(

这是示例查询:

PROFILE MATCH (n:Item) RETURN n ORDER BY n.name Desc LIMIT 25

结果是读取了所有记录,但是我已经在name属性上使用了索引。

这是结果

Click here to see results

它读取所有节点,对于大量记录来说真是一团糟。

对此有什么解决办法?

或neo4j对我们来说也不是一个好选择:(

以及从节点获取最后记录的任何方法?

2 个答案:

答案 0 :(得分:0)

您的问题和疑问不是很清楚。

1)您确定正确添加了索引吗?

CREATE INDEX ON :Item(name)

在Neo4j浏览器中,执行:schema以查看所有索引。

2)您的数据库中包含多少项?您期望并达到多少运行时间?

3)“来自节点的最后记录”是什么意思?

答案 1 :(得分:0)

索引当前仅用于查找图形中的入口点,而不能用于其他用途,包括结果排序。

索引支持的ORDER BY操作一直是highly requested feature for awhile,尽管我们一直在跟踪和排序其优先级,但我们还有其他一些功能要优先于这项工作。

我认为,索引支持的ORDER BY操作当前计划很快,因为我们的3.5版本将于2018年最后几个月发布。