Как получить рандомизированные строки данных из таблицы postgreSQL?

У меня есть таблица в базе данных сервера PostgreSQL с почти 3 миллионами строк, и мне нужно сохранить все строки в файл CSV. Проблема здесь в том, что строки должны сохраняться в другом случайном порядке при каждом запуске процесса.

Стоит отметить, что это приложение С# WinForms.

Я попытался загрузить данные в List < > и используя алгоритм перетасовки, но навсегда потребовалось завершить, и мне действительно нужно, чтобы это было быстро. Я думаю, что делать это непосредственно в запросе будет намного быстрее, но я не знаю, как это сделать.

Ответ 1

Как правило, вы можете просто ORDER BY случайную функцию вашего базиса, например

SELECT * FROM table ORDER BY RANDOM()

Это может быть так же медленно, как перетасовка списка, в зависимости от сервера базы данных или продукта.