Продолжаем обзор нововведений в PostgreSQL 9.5. Первая часть тут.
От автора
Иногда встречаются задачи, в которых нужно из таблицы выбрать некоторое количество случайных записей, для этого писали изощренные запросы (чтобы получить действительно случайные данные — нужно немало попотеть). С выходом PostgreSQL 9.5, эта задача станет проще.
С помощью ключевого слова TABLESAMPLE можно сделать выборку не всех данных из таблицы, а лишь какой-то их части, выбрать сэмпл.
Синтаксис будет примерно такой:
SELECT ... FROM TABLE_NAME ... TABLESAMPLE sampling_method ( argument [, ...] ) [ REPEATABLE ( seed ) ]
sampling_method — метод сэмплирования, по умолчанию в PostgreSQL 9.5 их два: SYSTEM и BERNOULLI, в качестве аргумента они принимают число с плавающей запятой (или любое валидное выражение, результатом которого является число), которое интерпретируется как процент для выборки: от 0 до 100.
Давайте посмотрим на примерах, как работает сэмплирование в PostgreSQL 9.5.
Пусть у нас есть таблица с транзакциями, в которой хранится id транзакции, сумма транзакции и дата со временем, когда транзакция была завершена. В таблицу добавим 100000 записей.
Читать далее |