TABLESAMPLE no elige filas: elige direcciones, y eso lo cambia todo

Tablesample Picks Rows

TABLESAMPLE no elige filas: elige direcciones, y eso lo cambia todo

En Postgres, TABLESAMPLE SYSTEM elige páginas enteras mediante un hash, no filas sueltas. En una tabla ordenada por tiempo, cada página agrupa unos 107 segundos consecutivos, así que un 1% de muestra devuelve franjas de la línea temporal y no filas dispersas: el mínimo de created_at puede desviarse casi cinco horas y la media se dispersa diez veces más que con BERNOULLI. Además, REPEATABLE fija direcciones, no filas, y un UPDATE con HOT las invalida. Hashear la clave primaria resuelve ambas cosas.

Todo lo extraño de TABLESAMPLE viene de un solo hecho: no elige filas, elige direcciones.

Más de este día

2026-10-25