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