Tabela sterty Heap table
Tabela bez indeksu klastrowego — wiersze leżą w nieuporządkowany sposób tam, gdzie jest miejsce, bez sortowania po żadnym kluczu. PostgreSQL zawsze przechowuje dane w ten sposób („sterta”); w SQL Server tabela jest stertą, dopóki nie dodasz indeksu klastrowego.
Mechanika: nowe wiersze lądują gdziekolwiek jest wolne miejsce; każdy wiersz ma fizyczny identyfikator (ctid w Postgresie, RID w SQL Server), na który wskazują indeksy. Zysk: szybkie wstawianie (nie trzeba utrzymywać kolejności). Kompromis: skany zakresów wymagają indeksu i dodatkowego odczytu (dane nie są posortowane), a usunięte wiersze zostawiają „dziury” → fragmentację i rozdęcie (w Postgresie sprząta je VACUUM). W SQL Server sterta jest zwykle uznawana za gorszą od indeksu klastrowego w większości obciążeń. W PostgreSQL sterta to norma — kolejność dają indeksy, a CLUSTER sortuje jednorazowo (bez utrzymywania porządku). Zrozumieć stertę kontra klaster to zrozumieć, jak dane naprawdę leżą na dysku.