Мне нужно выбрать, скажем, 2000000 записей в произвольном порядке из очень большой базы данных.Я посмотрел на предыдущие вопросы.Поэтому, пожалуйста, не отмечайте этот вопрос как дубликат.Мне нужно разъяснение.Большинство ответов предлагают использовать функцию ORDER BY RAND()
.Поэтому мой запрос будет:
SELECT DISTINCT no
FROM table
WHERE name != "null"
ORDER BY RAND()
LIMIT 2000000;
Я хочу, чтобы каждая запись выбиралась случайным образом.Я не уверен, что я понимаю эффект ORDER BY RAND()
здесь.Но я боюсь, что он выберет случайную запись, скажем, 3498, и продолжит выбор оттуда, скажем, следующие записи будут: 3499, 3500, 3501 и т. Д. Я хочу, чтобы каждая запись была случайной, чтобы не начинать порядок сслучайная запись.
Как выбрать 2000000 случайных записей, где каждая запись выбирается случайным образом?Можете ли вы упростить, что именно ORDER BY RAND()
делает?
Обратите внимание, что я использую Google BigQuery, поэтому проблема с производительностью не должна быть большой проблемой здесь.Я просто хочу выполнить требование выбора случайных 2000000 записей.