Встречается на собеседованиях • сегодня
Как распределены данные в БД при использовании индекса в PostgreSQL
В PostgreSQL индексы ускоряют поиск данных, храня их в упорядоченном виде (B-дерево, Hash, GiST и др.).
- B-дерево (по умолчанию):
Данные сортируются по ключу индекса, что позволяет быстро находить значения заO(log n).sqlCREATE INDEX idx_name ON users(name); -- Создает B-дерево для поля name
-
Hash-индекс:
Хранит хеш-значения ключей, идеален для точного поиска (=), но не поддерживает сортировку.sqlCREATE INDEX idx_hash ON users USING HASH(email); -
GiST/GIN:
Для сложных типов (геоданные, JSON, полнотекстовый поиск).
Как данные распределены?
Индекс хранит копию ключевых полей + ссылки на строки (TID). Сами данные остаются в таблице (куче), но индекс ускоряет доступ к ним.
Важно:
- Индексы замедляют вставку/обновление (нужно обновлять и таблицу, и индекс).
- Планировщик PostgreSQL решает, использовать ли индекс (зависит от селективности запроса).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы