F.46. tsm_system_rows — el método de muestreo SYSTEM_ROWS para TABLESAMPLE #

F.46.1. Ejemplos

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.

F.46.1. Ejemplos #

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).