Встречается на собеседованиях • сегодня
Какие применял виды индексов в БД
В 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
интервью вопросы и ответы