Skip to content
uencoder

Covering Index

A covering index contains all columns a query needs, letting it be answered from the index alone without table lookups (index-only scan).

Purpose

To eliminate table-lookup I/O and speed up queries; an advanced index-optimization technique.

Mechanism

If every SELECT column is in the index (key columns + INCLUDE columns), the query reads only index pages, not data pages. PostgreSQL adds non-key columns via the INCLUDE clause. Reducing random I/O yields significant gains.

Use cases

  • Query performance optimization
  • Index design
  • I/O reduction

Related tools

References