Sobes.tech
Назад к вопросам
Middle+
4

Расскажи про индексы в PostgreSQL — какие бывают, составной индекс и порядок столбцов.

Компании, где спрашивали
Веро Трейс

Ответ от нейросети

sobes.tech AI

В PostgreSQL есть несколько типов индексов, наиболее распространённые:

  • B-tree — стандартный индекс для быстрого поиска по равенству и диапазонам.
  • Hash — индекс для быстрого поиска по равенству (редко используется).
  • GIN и GiST — для полнотекстового поиска, геоданных и других специализированных данных.

Составной индекс создаётся по нескольким столбцам, например:

CREATE INDEX idx_name ON table_name (col1, col2);

Порядок столбцов в составном индексе важен: индекс эффективен для запросов, которые фильтруют или сортируют по первому столбцу, затем по второму и так далее. Если запрос использует только второй столбец, индекс может не использоваться.

Например, индекс по (col1, col2) хорошо подходит для запросов с условием по col1 или по col1 и col2, но не для запросов только по col2.