Что такое покрывающий индекс?

Middle+
357 просмотров
AFK Offer AI

Покрывающий индекс — это когда индекс содержит все колонки, которые нужны запросу, и базе вообще не надо лезть в основную таблицу. В PostgreSQL это делается через INCLUDE: CREATE INDEX idx ON orders (user_id) INCLUDE (total, status). Планировщик покажет Index Only Scan вместо обычного Index Scan — и это может быть в разы быстрее, потому что пропускается дорогой heap lookup. Особенно заметно на больших таблицах с медленным диском. Минус — индекс занимает больше места, так что покрывать всё подряд не стоит, только горячие запросы.

Следующий вопрос

Что такое _test пакет?