对于大型数据库,为什么neo4j order by很慢:(
这是示例查询:
PROFILE MATCH (n:Item) RETURN n ORDER BY n.name Desc LIMIT 25
结果是读取了所有记录,但是我已经在name属性上使用了索引。
这是结果
它读取所有节点,对于大量记录来说真是一团糟。
对此有什么解决办法?
或neo4j对我们来说也不是一个好选择:(
以及从节点获取最后记录的任何方法?
答案 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年最后几个月发布。