TABLESAMPLE wählt keine Zeilen, sondern Adressen – und das verzerrt die Ergebnisse
Tablesample Picks Rows

Postgres' TABLESAMPLE verspricht schnelle Stichproben, doch die Methode SYSTEM wählt ganze Seiten statt einzelner Zeilen. Bei zeitlich sortierten Daten wie einer orders-Tabelle liefert eine 1%-Stichprobe für min(created_at) Werte, die bis zu fünf Stunden danebenliegen – und das bei nur 177 statt 18.085 gelesenen Seiten. BERNOULLI ist präziser, aber langsamer. Wer stabile Teilmengen braucht, sollte stattdessen den Primärschlüssel hashen.
Alles Seltsame an TABLESAMPLE rührt von einer Tatsache her: Es wählt keine Zeilen, es wählt Adressen.