SYSTEM_ROWS para TABLESAMPLE #
El módulo tsm_system_rows proporciona el método de muestreo de tablas
SYSTEM_ROWS, que se puede utilizar en la cláusula
TABLESAMPLE de un comando SELECT.
Este método de muestreo de tablas acepta un único argumento entero que representa el número máximo de filas a leer. El muestreo resultante siempre contendrá exactamente esa cantidad de filas, a menos que la tabla no contenga suficientes filas, en cuyo caso se seleccionará toda la tabla.
Al igual que el método de muestreo integrado SYSTEM,
SYSTEM_ROWS realiza muestreo a nivel de bloque, de modo
que la muestra no es completamente aleatoria sino que puede estar sujeta a efectos de
agrupamiento (clustering), especialmente si solo se solicita un número pequeño de filas.
SYSTEM_ROWS no admite
la cláusula REPEATABLE.
Este módulo se considera “trusted” (de confianza), es decir, puede ser
instalado por no superusuarios que tengan el privilegio CREATE
en la base de datos actual.
Aquí tienes un ejemplo de cómo seleccionar una muestra de una tabla con
SYSTEM_ROWS. Primero instala la extensión:
CREATE EXTENSION tsm_system_rows;
Luego puedes usarla en un comando SELECT, por ejemplo:
SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);
Este comando devolverá una muestra de 100 filas de la
tabla my_table (a menos que la tabla no tenga 100
filas visibles, en cuyo caso se devolverán todas sus filas).