Встречается на 1% собеседований по Python
Какие применял виды индексов в БД
В PostgreSQL использовал B-деревья (стандартный индекс), Hash (для точных совпадений), GiST (геоданные, полнотекстовый поиск), GIN (составные данные, массивы, JSON).
Пример создания индексов:
sql
-- B-tree (по умолчанию)
CREATE INDEX idx_users_email ON users(email);
-- Hash (только для =)
CREATE INDEX idx_users_id_hash ON users USING HASH(id);
-- GIN для JSON
CREATE INDEX idx_profile_tags ON profiles USING GIN((data->'tags'));
-- GiST для геоданных
CREATE INDEX idx_places_location ON places USING GIST(location);
text
**Нюансы:**
- B-дерево универсально, поддерживает сортировку и диапазоны.
- Hash быстрее для `=`, но не поддерживает операции сравнения.
- GIN/GIST требуют больше ресурсов, но незаменимы для специализированных типов данных.
Выбор зависит от запросов: для `WHERE x > 10` — B-tree, для `WHERE json_field @> '{"tag": "python"}'` — GIN.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы