Ответ 1
Как правило, вы можете просто ORDER BY
случайную функцию вашего базиса, например
SELECT * FROM table ORDER BY RANDOM()
Это может быть так же медленно, как перетасовка списка, в зависимости от сервера базы данных или продукта.
У меня есть таблица в базе данных сервера PostgreSQL с почти 3 миллионами строк, и мне нужно сохранить все строки в файл CSV. Проблема здесь в том, что строки должны сохраняться в другом случайном порядке при каждом запуске процесса.
Стоит отметить, что это приложение С# WinForms.
Я попытался загрузить данные в List < > и используя алгоритм перетасовки, но навсегда потребовалось завершить, и мне действительно нужно, чтобы это было быстро. Я думаю, что делать это непосредственно в запросе будет намного быстрее, но я не знаю, как это сделать.
Как правило, вы можете просто ORDER BY
случайную функцию вашего базиса, например
SELECT * FROM table ORDER BY RANDOM()
Это может быть так же медленно, как перетасовка списка, в зависимости от сервера базы данных или продукта.
См. этот вопрос Выбор случайных строк
Смотрите эту замечательную ссылку Depesz МОИ МЫСЛИ НА ПОЛУЧЕНИЕ СЛУЧАЙНОЙ ROW