Как использовать параметр пропуска в Cloudant или CouchDB?

Существуют ли потенциальные потери производительности при использовании параметра пропуска в индексах в Cloudant или CouchDB? Есть ли лучшая техника для использования?


person user2784919    schedule 20.01.2014    source источник


Ответы (1)


Запись и запрос представлений MapReduce в CouchDB содержит отличный пример и описание использования параметра skip:

Параметр skip можно использовать вместе с параметром limit для реализации нумерации страниц. Однако пропуск большого количества строк может быть неэффективным. Вместо этого установите для параметра пропуска значение 1 и используйте ключ последней строки на предыдущей странице в качестве параметра startkey (endkey, если вывод инвертирован), а идентификатор документа последней строки на предыдущей странице — в качестве параметра startkey_docid (endkey_docid). если выход реверсирован). Это должно повысить производительность, поскольку CouchDB не нужно будет сканировать весь диапазон пропущенных строк».

Аналогичная информация также содержится в Масштабирование CouchDB

person garbados    schedule 20.01.2014
comment
Были улучшения с v1.2 issues.apache.org/jira/browse/COUCDB-1076, что также вызвало обновления документов v1.6 couchdb.readthedocs. org/en/latest/couchapp/views/ НО достаточно ли этого? Написал об этом здесь: danielwertheim .se/2014/04/01/ - person Daniel; 02.04.2014