Почему пропускает узлы из запроса очень медленно в крольчонке? - PullRequest
1 голос
/ 23 февраля 2009

Когда я выполняю простой запрос, подобный этому:

select * from nodeType

Вызов skip(N) на итераторе диапазона выполняется медленно.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2009

Выяснил почему (автоответчик) - по умолчанию использовался порядок документов.

Попробуйте добавить разумный «порядок по» к запросу - от минут для 10000 узлов до <1 секунды. </p>

1 голос
/ 09 ноября 2009

К сожалению, метод skip () RangeIterator в реализации Jackrabbit (RangeIterator - просто интерфейс) линейно перемещается по узлам. Вы могли бы просто написать

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