tsm_system_rows. Метод извлечения выборки SYSTEM_ROWS
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты: отсутствуют.
Схема размещения:
ext
.
Модуль предоставляет метод извлечения выборки SYSTEM_ROWS
, который можно использовать с оператором TABLESAMPLE
команды SELECT
.
Такой подход принимает на вход один целочисленный аргумент, задающий максимальное число выбираемых строк. Результирующая выборка будет содержать данное количество строк при условии, что в таблице не окажется меньше заданного числа строк. В этом случае будет выведена вся таблица.
Подобно встроенному методу извлечения выборки SYSTEM
, SYSTEM_ROWS
производит выборку на уровне блоков, поэтому выборка будет не полностью случайной, а может подвергаться эффектам кластеризации, особенно когда запрашивается небольшое число строк.
Доработка
Доработка не проводилась.
Ограничения
SYSTEM_ROWS
не поддерживает предложение REPEATABLE
.
Установка
Модуль считается «доверенным», поэтому его могут устанавливать пользователи, имеющие право CREATE
в текущей базе данных:
CREATE EXTENSION tsm_system_rows SCHEMA ext;
Настройка
Настройка не требуется.
Использование модуля
SELECT * FROM test_pre TABLESAMPLE SYSTEM_ROWS(10);
Пример вывода результата выполнения запроса:
id | name | creat_time
-------+-----------+----------------------------
47415 | 47415_pre | 2023-03-21 06:22:22.012674
47416 | 47416_pre | 2023-03-21 06:22:22.012702
47417 | 47417_pre | 2023-03-21 06:22:22.012703
47418 | 47418_pre | 2023-03-21 06:22:22.012704
47419 | 47419_pre | 2023-03-21 06:22:22.012705
47420 | 47420_pre | 2023-03-21 06:22:22.012706
47421 | 47421_pre | 2023-03-21 06:22:22.012708
47422 | 47422_pre | 2023-03-21 06:22:22.012709
47423 | 47423_pre | 2023-03-21 06:22:22.012709
47424 | 47424_pre | 2023-03-21 06:22:22.01271
(10 rows)
Ссылки на документацию разработчика
Исходная документация PosgreSQL по модулю tsm_system_rows: https://www.postgresql.org/docs/15/tsm-system-rows.html.