MongoDB
  • Введение
  • Установка и пример
  • Сортировка чисел
  • Поля - массивы
  • Вложенные поля
  • Работа с индексами
  • Информация о базе
  • Уникальные индексы
  • Пагинация
  • Регулярные выражения
  • Использование JavaScript
  • Группировка
  • Виды коллекций
  • Загрузка из файла
  • Курсоры
  • Метод save
  • Создание ссылок
Powered by GitBook
On this page

Was this helpful?

Работа с индексами

Создаем коллекцию и добавляем в нее много записей:

for(i = 0; i < 15000; i++) {
    db.bigCollection.insert({
        a: parseInt(Math.random() * 10000),
        b: Math.random()
    });
}

Получаем количество записей в коллекции:

db.bigCollection.count();

Просматриваем добавленные в коллекцию записи:

db.bigCollection.find();

Получаем все записи, у которых поле A превышает 9990.

При этом упорядочиваем результат по возрастанию значения поля A:

db.bigCollection.find({ "a": {$gt: 9990} }).sort({ "a": 1 });

Получаем информацию, по какому плану была выполнена обработка запроса:

db.bigCollection.find({ "a": {$gt: 9990} }).sort({ "a": 1 }).explain();

Полностью удаляем коллекцию:

db.bigCollection.drop();

Добавление индекса

Добавим индекс к коллекции.

Индексироваться будет поле A в порядке возрастания.

Добавляем индекс:

db.bigCollection.ensureIndex({"a": 1});

Заполняем коллекцию записями:

for(i = 0; i < 15000; i++) {
    db.bigCollection.insert({
        a: parseInt(Math.random() * 10000),
        b: Math.random()
    });
}

Смотрим план выполнения запроса на выборку данных:

db.bigCollection.find({ "a": {$gt: 9990} }).sort({ "a": 1 }).explain();

Таким образом, благодаря использованию индекса, время выполнения запроса на выборку значительно уменьшилось.

Индексы могут ускорять запросы на выборку данных.

PreviousВложенные поляNextИнформация о базе

Last updated 5 years ago

Was this helpful?