SQLLab
Глоссарий/B-tree индекс
ИндексыСредний

B-tree индекс

Тип индекса по умолчанию в PostgreSQL. Подходит для операций =, <, >, BETWEEN, LIKE 'prefix%'.

Синтаксис
CREATE INDEX ON table USING btree (column);  -- btree по умолчанию

Объяснение

B-tree (Balanced Tree) — сбалансированное дерево поиска. Поиск за O(log n). Поддерживает: =, <, <=, >, >=, BETWEEN, IN, LIKE 'prefix%', IS NULL (частично). Не подходит: LIKE '%suffix', поиск по массивам, full-text search. Для этих случаев используй: GIN (массивы, JSONB, FTS), GiST (геометрия, диапазоны), pg_trgm+GIN (LIKE '%text%').

Пример

-- B-tree хорош для:
CREATE INDEX ON orders (created_at);  -- диапазон дат
CREATE INDEX ON users (email);         -- точное совпадение

-- GIN для массивов:
CREATE INDEX ON articles USING gin (tags);