У меня очень большой набор данных (около 40 миллионов строк), и я пытаюсь взять его стратифицированную выборку по двум классам (из класса столбца).
Мне уже приходилось объединять все разные таблицы в течение каждого месяца, и мне приходилось увеличивать количество строк до повторяющихся строк (поэтому у меня нет уникального идентификатора для каждой строки).
Я пробовал следующий метод, но он занимает вечность:
SELECT *
FROM (SELECT *,
row_number() OVER (PARTITION BY subquery.class ORDER BY uuid_generate_v1()) AS sequence
FROM (SELECT * FROM all_tables)
AS subquery)
AS sub2
WHERE sub2.sequence <= 10
Я использую PostgreSQL 12.1.
Заранее спасибо !!
** Редактировать **
Извините, я не спросил явно: что бы вы рекомендовать для извлечения стратифицированной случайной выборки из набора данных, выполнение которой не займет много времени?