Производительность запросов CouchDB - PullRequest
8 голосов
/ 07 апреля 2010

Если количество документов больше, будет ли запрос данных медленнее в CouchDB?

Пример сценария:

  • У меня есть поле со списком в форме для имени клиента.Когда пользователь вводит имя клиента, я должен сделать автозаполнение.
  • В CouchDB будет около 10 тыс. Клиентских документов.Я понимаю, что я должен создать представление, чтобы сделать то же самое.
  • База данных CouchDB находится на локальном компьютере, на котором находится приложение.

Вопрос: Потребуется ли более 2 - 3 секунды, чтобы запросить в БД совпадение имен клиентов?Будет ли запрос занимать больше времени для каждого запроса, если в CouchDB много документов (скажем, около 100000 документов)?

Любые указатели о том, как создавать представления / индексы, будут полезны.

Спасибо ввперед.

1 Ответ

9 голосов
/ 07 апреля 2010

Представление выполняется для каждого документа, но только один раз. После этого значения представления документа сохраняются навсегда. Извлечение клиента по имени будет очень быстрым, поскольку обычно у вас будет только несколько новых документов для обработки в представлении во время запроса.

Время запроса не увеличится заметно, если у вас есть больше документов. Технически времена доступа логарифмически растут с количеством документов. Однако на практике получение документов в основном занимает постоянное время и вряд ли станет проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...