使用像MySQL这样的关系数据库,众所周知,具有巨大LIMIT x, y
的模式x
可能会导致速度和内存性能下降。
有一些解决方案可以很好地处理MySQL中的这个问题here。
使用Neo4j ,我想知道如果SKIP X LIMIT Y
很大,或者处理方式不同,Cypher模式:X
..是否会导致相同的问题顺序并且以Neo4j的优化方式使我可以使用它而不用担心性能/内存。
答案 0 :(得分:1)
是的,它可能会导致类似的问题。除了缓存的查询计划之外,它没有进行优化,并且希望某些节点/ rels位于缓存中 - 它每次都需要一直跳到X的末尾。
此外,如果没有范围索引查找,使用通常的SQL方法很难解决:
WHERE val > lastOnPreviousPage
LIMIT Y
我希望他们能够在即将发布的版本中修复此模式,但是现在,让您的网页变大并尽量避免跳过大量记录是个好主意。