Как использовать paginate с «курсорами» в N1ql? - PullRequest
4 голосов
/ 26 марта 2019

Мне нужно разбить на страницы запрос Couchbase N1ql.

Я знаю о разбиении на страницы с помощью OFFSET, но более эффективно назначить начальную и конечную точки.

Я вижу документацию о startkey_docid, но не о том, как нам это сделать в N1ql.

Как разбить на страницы курсорами или чем-то подобным в N1ql?

Ответы [ 2 ]

2 голосов
/ 26 марта 2019

N1QL не поддерживает курсоры.За кулисами каждый запрос, отправляемый в механизм запросов, является отдельным HTTP-запросом.Между запросами просто нет преемственности, и поэтому концепция курсоров не поддерживается.

1 голос
/ 26 марта 2019

Изучите «разбиение на страницы набора ключей», общую технику для улучшения производительности нумерации страниц, используя индекс вместо использования offset.Наиболее часто цитируемая статья на эту тему - «. Нам нужна инструментальная поддержка нумерации набора ключей .» *

. Пример Couchbase, использующий N1QL, см. В статье Кешава Мурти «Разбиение на базы данных: использование OFFSET и Keyset в N1QL . "

...