Sobes.tech
Back to questions
Middle+
3

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

Companies where asked
Веро Трейс

Answer from AI

sobes.tech AI

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

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

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

CREATE INDEX idx_name ON table_name (col1, col2);

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

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