Mysql Neo4J/处理分页时跳过是否有效?

Mysql Neo4J/处理分页时跳过是否有效?,mysql,sql,pagination,neo4j,cypher,Mysql,Sql,Pagination,Neo4j,Cypher,使用像MySQL这样的关系数据库,众所周知,带有巨大的x的LIMIT x,y模式可能会导致速度和内存方面的不良性能,尤其是 文中给出了一些在MySQL中很好地处理这个问题的解决方案 使用Neo4j,我想知道密码模式:跳过X限制Y。。如果X很大,或者如果Neo4j以不同的方式和优化的方式处理它,以便我可以使用它而不必担心性能/内存,则可能会导致相同的问题顺序。是的,可能会导致类似的问题。除了缓存的查询计划和缓存中的一些节点/rel之外,它没有得到优化——每次都需要一直跳到X的末尾 此外,如果没有范

使用像MySQL这样的关系数据库,众所周知,带有巨大的
x
LIMIT x,y
模式可能会导致速度和内存方面的不良性能,尤其是

文中给出了一些在MySQL中很好地处理这个问题的解决方案


使用Neo4j,我想知道密码模式:
跳过X限制Y
。。如果
X
很大,或者如果Neo4j以不同的方式和优化的方式处理它,以便我可以使用它而不必担心性能/内存,则可能会导致相同的问题顺序。

是的,可能会导致类似的问题。除了缓存的查询计划和缓存中的一些节点/rel之外,它没有得到优化——每次都需要一直跳到X的末尾

此外,如果没有范围索引查找,则很难使用通常的SQL方法:

WHERE val > lastOnPreviousPage
LIMIT Y

我希望他们能在即将发布的版本中修复此模式,但目前最好是将页面做大,尽量避免跳过大量记录。

谢谢您的回答。事实上,我有大约10000个元素,我想每20个元素分页20个。你会怎么处理?使每个页面真正超过20个项目?使用SKIP处理10k并不是世界末日,但它不会非常高效。明白:)我现在将使用
SKIP
处理这个问题。最后一个问题:您写道,很难像在SQL中那样进行变通。但是我可以使用一个索引作为参考点,避免使用
SKIP
及其缺点,就像
lastOnPreviousPage
,不是吗?我想我理解:
其中val==lastOnPreviousPage
将使用该索引(在这种情况下毫无意义),但是在一种比较中,比如操作符
,它需要一种建立范围索引的方法。如果您有相当静态的数据,您可以预先计算页面并保留页面属性以进行精确的索引查找。