Вступ до MongoDB create Index

MongoDB використовується складним методом обміну даними, алгоритмами аналізу даних для управління, модифікації та упорядкування даних, над якими вони працюють. Дані, з якими вони мають справу, є гумористичними і потребують ефективного поводження. Індекси в СУБД допомагають підвищити продуктивність запитів, таких як отримання та оновлення даних. Уявіть собі колекцію, яка містить сотні документів. Щоб знайти документи, які відповідають певному фільтру, MongoDB повинен був би порівнювати фільтр з усіма документами, які є в колекції, що є виснажливим і трудомістким. Замість індексації документів (полів) значно скоротить час пошуку. У цій темі ми дізнаємось про індекс створення MongoDB.

Індекси - це структури даних, які пакуються частковим набором даних всередині себе. Індекс зберігає значення певного поля (полів) у документах впорядковано, що підтримує такі операції, як компаратори, екватори та запити на основі діапазону в послідовному порядку.

Основний синтаксис для створення індексу

db.collectionName.createIndex(, )

КлючіКлючі - це документ, який містить пару значень поля, де поле - індексний ключ, а значення - тип індексу.

Наприклад, значення дорівнює 1 для сортування ключових індексів у порядку зростання та -1 у порядку зменшення

ПараметриВаріант (и) - це документ, який містить набір опцій, що впливають на створення індексів. Ці параметри необов’язкові.

Типи індексів

Тут наведені нижче типи індексів

1. Ідентифікатор за замовчуванням

Кожен документ, присутній у колекції Mongo, містить покажчик

за замовчуванням називається "_id". Ідентифікатор об'єкта створюється під час створення документа, якщо немає значень індексу.

2. Єдине поле

Індексація проводиться в одному полі, і операція сортування є або висхідною, або низхідною, оскільки MongoDB може пройти в будь-якому напрямку.

Приклад: db.collection.createIndex (("вік": 1))

3. Складовий індекс

MongoDB підтримує визначені користувачем індекси у кількох полях. Порядок полів, наведених у складеному індексі, досить значний. Порядок сортування займає зліва направо, wrt пріоритету перед першим полем, згаданим у складених індексах, вище, ніж у наступному.

Приклад: db.collection.createIndex (("вік": 1, "dim.h": - 1)). У цьому прикладі всі документи з віковим полем спочатку сортуються у порядку зростання, а потім у порядку зменшення висоти в тьмі.

4. Індекс клавіш

MongoDB використовує індекс Multikey, щоб індексувати дані у форматі масиву. Під час індексації кожен елемент масиву створюється окремим індексом, а дані індексуються на основі елементів (елементів), наявних у масиві. MongoDB піклується про те, якщо поле індексу за замовчуванням має в ньому масив.

5. Геопросторовий показник

MongoDB використовує геопросторову індексацію для пошуку даних на основі свого місцезнаходження. Він підтримує два типи пошуку, 2D (двовимірний) та 3D (тривимірний). Ці індекси використовуються для отримання результатів в межах діапазону. Кількість результатів пошуку також може бути обмежена за допомогою функції limit ().

Приклад: db.players.find ((loc: ($ near: ($ geometry: (type: "high_school", спорт: "баскетбол" вік: (14, 17)))))). У цьому прикладі ви знайдете всі записи учнів, які навчаються у середній школі, грають у баскетбол та знаходяться у віці від 14 до 17 років.

6. Текстовий покажчик

MongoDB забезпечує індексацію тексту для підтримки запитів у рядковому форматі. Текстовий індекс може мати будь-які поля, які складаються з елементів рядка або масиву елементів рядка.
Приклад: db.movies.find (($ text: ($ search: “tom hardy”))). У цьому прикладі знайдуться всі документи, які мають імена акторів, такі як Том Ханкс, Том Фелтон, Том Хідделсон, а також Роберт Харді і Джон Харді. MongoDB приймає рядок, передбачений для пошуку, і надає всі документи, які мають повний або частковий рядок пошуку в ньому.

7. Хеш-індекс

MongoDB використовує хешований індекс для підтримки шардингу. Хешування індексів обчислює хеш-значення показникових полів за допомогою хеш-функції. Він не підтримує багатоклавішну індексацію (значення масиву). Хеш-індекси створюються за допомогою функції createIndex, і значення поля індексу завжди має бути "хешоване".

Приклад: db.collection.createIndex ((: "хеш")) . Щоб знайти документи з хеш-значеннями, db.collection.find ((: Math.pow (2, 63))) поверне всі документи з хеш-індексами в діапазоні 2 63.

Варіанти індексації

1. Унікальний індекс

Як випливає з назви, унікальні показники мають унікальний характер. MongoDB не дозволяє повторювати значення, якщо індекс створений за допомогою параметра "унікальний". Щоб вказати, що індекс унікальний під час створення індексу, слід використовувати наступний формат.

db.collection.createIndex (, (унікальний: правда)) . Унікальні обмеження можуть бути накладені і на складений індекс, і індекс з декількома ключами, і з текстовим індексом.

2. Частковий індекс

Часткові покажчики індексують документи колекції на основі конкретного фільтра або виразу. Оскільки часткові індекси індексують, лише підгрупа вимог до місця колекції (пам'яті) менша, і це також призводить до зниження продуктивності.

Приклад :

db.pupils.createIndex ((ім'я: 1), (частFilterExpression: (вік: ($ gt: 5)))
Підтримуються вирази фільтру:

  • $ gt, $ gte, $ lt, $ lte (більше, більше або рівне, менше і менше або рівне)
  • $ операторів типу
  • $ існує: справжня операція
  • Оператор рівності ($ eq)
  • Логічні та або операції

3. Індекс TTL

TTL індексує особливий вид індексів одного ключа, який можна видалити з колекції MongoDB після таймауту або в певний час. Деякі програми, що записують машинні дані або журнали, які в кінцевому рахунку можуть бути недійсними через певний проміжок часу, знаходять це дуже корисний.

Приклад:

db.log.createIndex (("lastModifiedDate": 1), (expireAfterSeconds: 10000))

4. Рідкий показник

Рідкі індекси індексують лише документи, які містять поле значення індексу. Він ігнорує всі інші документи, які не містять поля. За замовчуванням нерозріджені індекси містять усі документи у колекціях, при цьому нуль має значення для тих полів, яких немає.

Приклад:

db.pupil.createIndex (("вік": 1), (рідкий: правда))
Індекс не індексує документи, які не містять польового віку.

5. Індекс нечутливості випадку

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

Приклад:

db.collection.createIndex (("ключ": 1), (collation:))

Збірка:

Документ зіставлення використовується для визначення мовних правил, букви та ін.… Для порівняння рядків.

Документи зі збору складаються з наступного:

Висновок - MongoDB створює індекс

На закінчення, індексація має вирішальне значення для швидшого виконання запитів та управління пам'яттю. Індекси можна створювати, змінювати відповідно до вимог користувачів та скидати, коли не потрібно.

Рекомендовані статті

Це посібник щодо створення індексу MongoDB. Тут ми обговорюємо типи індексів та параметри індексації разом із прикладами. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Інструменти MongoDB
  2. Що таке MongoDB?
  3. Тиражування в MongoDB
  4. Переваги MongoDB