代码之家  ›  专栏  ›  技术社区  ›  Michael Neale

为什么在jackrabbit中从查询中跳过节点非常慢?

  •  1
  • Michael Neale  · 技术社区  · 17 年前

    当我执行这样的简单查询时:

    select * from nodeType
    

    打电话 skip(N) 在范围迭代器上很慢。

    我做错什么了?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Michael Neale    17 年前

    找出为什么(自动应答)-默认情况下使用文档顺序。

    尝试向查询添加一个合理的“order by”—从10000个节点的分钟数增加到<1秒。

        2
  •  1
  •   Jack    16 年前

    遗憾的是,jackRabbit实现中的rangeIterator skip()方法(rangeIterator只是一个接口)正在线性遍历节点。你还是写吧

    int counter = 0;
    while ( counter < offset && iter.hasNext() ) { iter.next(); counter++; }