Перейти к основному содержимому

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.