Как применяются разные типы индексов в БД

Python Middle Без компании
Как применяются разные типы индексов в БД
Ответы
Индексы в БД ускоряют поиск и сортировку данных. Основные типы: **B-дерево (B-tree)** – стандартный индекс, подходит для большинства операций (сравнение, диапазоны, сортировка). Пример: ``` CREATE INDEX idx_name ON users(name); -- Поиск по имени ``` **Хеш-индекс** – быстрый поиск точного совпадения (не поддерживает диапазоны): ``` -- В PostgreSQL CREATE INDEX idx_email_hash ON users USING HASH(email); ``` **Составной индекс** – для нескольких полей (важен порядок): ``` CREATE INDEX idx_name_age ON users(name, age); -- WHERE name='x' AND age>20 ``` **Полнотекстовый (GIN/GiST)** – для текстового поиска: ``` CREATE INDEX idx_fts ON articles USING GIN(to_tsvector('english', content)); ``` **Частичный индекс** – только для подмножества данных: ``` CREATE INDEX idx_active_users ON users(email) WHERE is_active=True; ``` Выбор зависит от запросов: B-tree – универсальный, хеш – для точных match, GIN – для сложного поиска в тексте.