Ускорение времени отклика в MongoDB

Кто-нибудь знает, как создавать эффективные индексы в MongoDB для ускорения времени отклика? Я получаю правильный ответ, это занимает слишком много времени. Мне нужно, чтобы оно было ниже 100 мс. Я использую пакет jenssegers / laravel-mongodb.

https://pastebin.com/GHCwaJqT Вот ответ, который я получаю. Предел составляет 15 строк, и это занимает 300 мс.

 $result = $this->model->skip($this->page)->limit($this->limit)->get();

Не могли бы вы показать нам индексы в базе данных, запрос, который вы выполняете, и количество записей, которые вы получаете обратно?

Ohgodwhy 23.04.2018 18:46

У меня есть стандартный индекс для поля _id, и запрос - это просто получение, поэтому он получает 15 строк из таблицы @Ohgodwhy

Victor 23.04.2018 19:04

Если вы хотите улучшить индексацию запроса, вам нужно explain() план запроса. Если вы не уверены, какой запрос генерирует ваше приложение, вы можете либо захватить медленные запросы из журнала сервера MongoDB, либо включить профилировщик базы данных для сбора данных в коллекцию system.profile.

Stennie 24.04.2018 05:01
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
3
76
1

Ответы 1

После просмотра вашего ответа (15 строк) кажется, что вы получаете эти данные для того же user_id. В этом случае вы можете создать индекс для user_id и использовать user_id в качестве фильтра в запросе, чтобы MongoDB использовал этот индекс.

Другие вопросы по теме