F.57. tsm_system_rows — метод выборки SYSTEM_ROWS для TABLESAMPLE#

F.57. tsm_system_rows — метод выборки SYSTEM_ROWS для TABLESAMPLE

F.57. tsm_system_rows — метод выборки SYSTEM_ROWS для TABLESAMPLE #

Модуль tsm_system_rows предоставляет метод выборки строк таблицы SYSTEM_ROWS, который может быть использован в предложении TABLESAMPLE в команде SELECT.

Этот метод выборки таблицы принимает один целочисленный аргумент - максимальное количество строк для чтения. Результирующая выборка всегда будет содержать ровно столько строк, за исключением случая, когда таблица не содержит достаточное количество строк, в этом случае выбирается вся таблица.

Системный метод выборки SYSTEM_ROWS выполняет выборку на уровне блоков, аналогично встроенному методу выборки SYSTEM, поэтому выборка не является полностью случайной, но может подвергаться эффектам кластеризации, особенно если запрашивается небольшое количество строк.

SYSTEM_ROWS не поддерживает предложение REPEATABLE.

Этот модуль считается "доверенным", то есть его можно установить недоступным пользователям, у которых есть привилегия CREATE в текущей базе данных.

F.57.1. Примеры #

Вот пример выборки образца таблицы с SYSTEM_ROWS. Сначала установите расширение:

CREATE EXTENSION tsm_system_rows;

Затем вы можете использовать его в команде SELECT, например:

SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);

Эта команда вернет выборку из 100 строк из таблицы my_table (если таблица не содержит 100 видимых строк, то будут возвращены все строки).