Как в MongoDB происходит индексация
Python
Senior
Без компании
Как в MongoDB происходит индексация
Ответы
В MongoDB индексы создаются для ускорения поиска и сортировки данных. Они хранятся в виде B-деревьев, что позволяет эффективно выполнять запросы.
**Основные типы индексов:**
- **Одиночный индекс** (`Single Field`) — на одно поле.
- **Составной индекс** (`Compound Index`) — на несколько полей.
- **Мультиключевой индекс** (`Multikey Index`) — для массивов (индексирует каждый элемент).
- **Геопространственный индекс** (`Geospatial Index`) — для геоданных.
- **Текстовый индекс** (`Text Index`) — для полнотекстового поиска.
- **Хэш-индекс** (`Hashed Index`) — для шардинга по хэшу.
**Пример создания индекса:**
```
# Одиночный индекс
db.collection.create_index("name")
# Составной индекс (сортировка по убыванию для age)
db.collection.create_index([("name", 1), ("age", -1)])
```
**Важно:**
- Индексы ускоряют чтение, но замедляют запись (т.к. их нужно обновлять).
- Используйте `explain()` для анализа запросов.
- Удаление индекса: `db.collection.drop_index("name_1")`.