performance - 在 neo4j 中检索时如何避免最近更新的节点?

标签 performance sorting neo4j

这可能是一个与数据库核心功能相关的奇怪问题,但由于性能问题我被困住了。

考虑以下场景:

PROFILE 
MATCH (n:Label1) 
WHERE n.prop1<1484850600 
OR (n.prop1=1484850600 AND n.prop2<2)
WITH n 
LIMIT 10 
RETURN n

情况就像我在执行上述查询后更新了 prop1 和 prop2 (如果 n.prop1<1484850600 那么 [prop1=1484850600,prop2=1] 并且 n.prop1=1484850600 AND n.prop2<2 然后 [prop2=prop2+1])

但是当我再次执行上面的查询时,我显然会先得到 (prop1=1484850600) 的记录,这对我来说不是必需的(我需要其他未更新的节点)。

我可以通过对 id(该节点的自动递增值)进行排序来实现它,但是由于我有大量的数据集(1cr 节点,1cr 属性值排序),密码查询正在生成并且它是比平时花更多的时间,所以我坚持在这里。

PROFILE 
MATCH (n:Label1) 
WHERE n.prop1<1484850600 
OR (n.prop1=1484850600 AND n.prop2<2)
WITH n 
ORDER BY n.id 
LIMIT 10 
RETURN n

有没有其他方法可以实现它,还是我错过了什么?

最佳答案

将查询分成两部分。处理 prop1 = 1484850600 和 prop2 < 2 的节点。然后执行第二个查询以处理 prop1 < 1484850600 的节点。

关于performance - 在 neo4j 中检索时如何避免最近更新的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41765027/

相关文章:

java - Neo4J创建关系在远程挂起,但节点创建成功

Neo4J 搜索大于索引

Android:ANR 输入调度超时

python - 如何加速一个热编码器代码

c++ - 当我每秒调用它 40 次时,QListWidget::addItem() 会闪烁

scala Seq sortWith 或 sortBy 与 NaN

ruby - 使用 Ruby 作为脚本语言,使用 4gb RAM 的计算机对 30gb 的字符串进行排序的最佳方法是什么?

neo4j - 更改一个标签的颜色也会更改 Neo4j 中另一个标签的颜色

android - 如何检查android中用户是否清除了缓存?

javascript - 使用 bootstrap 或 Jquery 根据标题排列行文本