PostgreSQLPytanie 03 z 11
Clustered index — czy PRIMARY KEY porządkuje tabelę?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
W PostgreSQL PRIMARY KEY tworzy zwykle unikalny indeks B-tree, ale nie utrzymuje automatycznie fizycznej kolejności tabeli według klucza.
CLUSTER tabela USING indeks jednorazowo przepisuje tabelę według indeksu. Późniejsze zapisy nie zachowują stale tego porządku.
Doprecyzowanie: to inne zachowanie niż popularne rozumienie clustered index w SQL Server. Terminologię z rozmowy trzeba odnieść do konkretnego silnika.
Pułapka: CLUSTER wymaga silnej blokady i dodatkowych zasobów. Nie uruchamiam go rutynowo na produkcji tylko dlatego, że istnieje indeks. Zawsze ustalam cel i koszt operacyjny.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.