Index-only scan
Wanneer de database de hele query uit de index kan beantwoorden zonder de tabel aan te raken. De snelst mogelijke leesactie: één zoekactie in de boom en klaar, geen extra I/O per rij.
Daarvoor moet elke kolom die de query nodig heeft, in WHERE én SELECT, in de index zitten. Zo'n index heet een covering index, en in PostgreSQL kun je er met INCLUDE kolommen aan toevoegen die de sorteervolgorde niet belasten. Een PostgreSQL-eigenaardigheid: de index weet niet of een rij zichtbaar is voor jouw transactie, dus wordt de visibility map geraadpleegd, en als de pagina niet als all-visible is gemarkeerd moet de heap alsnog worden gelezen. Daarom verliest een tabel die niet regelmatig wordt gevacuümd ineens zijn index-only scans. In EXPLAIN (ANALYZE) zie je dat terug als Heap Fetches.