3

我可以使用跳过、限制(和排序依据)来获取 UI 中特定页面的内容。例如渲染页面大小为 m 的第 n 页。UI 要求跳过 n*m 和限制 m。

但是,UI 想要为所有可能的页面生成链接。为此,我必须返回 neo4j 中可用的总行数。例如,对于总共 p 行,UI 将生成超链接 1,2,3... (p/m)。

在密码中使用跳过、限制时获得总行数的最佳(就性能而言)方法是什么?

4

1 回答 1

4

通常,不建议您获取所有结果,因为您需要将大量图形提取到内存中。

你有两个选择:

  1. 使用更简单的查询版本作为单独的计数查询(也可能异步运行)
  2. 将计数查询和您的实际查询合并为一个,但它会比您的跳过限制查询贵得多,在最坏的情况下,总计数/页面大小要贵得多

    start n=node:User(name={username}) match n-[:KNOWS]->() with n,count(*) as total match n-[:KNOWS]->m return m.name, total skip {offset} 限制 {pagesize}

于 2013-07-18T19:56:50.513 回答