За счет чего индекс БД ускоряет запрос
Python
Junior
Рунити
За счет чего индекс БД ускоряет запрос
Ответы
Индексы в БД работают аналогично оглавлению в книге — они позволяют быстро находить данные без полного сканирования таблицы.
**Основные принципы:**
- **B-деревья** (чаще всего) — сбалансированные структуры, обеспечивающие поиск за O(log n).
- **Хеш-индексы** — для точных совпадений (O(1)), но не поддерживают диапазонные запросы.
- **Фильтрация** — индекс содержит только ключевые столбцы, уменьшая объем обрабатываемых данных.
**Пример (SQL):**
```
-- Создание индекса
CREATE INDEX idx_user_email ON users(email);
-- Запрос использует индекс (если оптимизатор решит это эффективным)
SELECT * FROM users WHERE email = 'test@example.com';
```
**Нюансы:**
- Индексы замедляют вставку/обновление (требуется поддержка структуры).
- Избыточные индексы увеличивают объем хранилища.
- Не все условия (например, `LIKE '%abc'`) могут использовать индекс.