Sobes.tech
Back to questions
Middle+
2

Какие типы индексов существуют (B-tree, Hash)?

Companies where asked
Magnit Tech

Answer from AI

sobes.tech AI

В PostgreSQL существуют несколько типов индексов, основные из которых:

  • B-tree — самый распространённый тип индекса, используется для быстрого поиска по равенству и диапазону. Подходит для большинства случаев.
  • Hash — индекс для быстрого поиска по равенству, но не поддерживает диапазонные запросы. В PostgreSQL раньше имел ограничения, сейчас стал более стабильным.
  • GIN (Generalized Inverted Index) — используется для индексации массивов, JSONB, полнотекстового поиска.
  • GiST (Generalized Search Tree) — гибкий индекс для геометрических данных, полнотекстового поиска и других типов.

Пример создания B-tree индекса:

CREATE INDEX idx_users_email ON users USING btree(email);

Выбор типа индекса зависит от характера запросов и данных.