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 видимых строк, то будут возвращены все строки).