рандомизация большого набора данных

Я пытаюсь найти способ получить случайный выбор из большого набора данных.

Мы ожидаем, что набор вырастет до ~ 500K записей, поэтому важно найти способ, который будет продолжать работать хорошо, пока набор растет.

Я попробовал технику из:http://forums.mysql.com/read.php?24,163940,262235#msg-262235 Но это не совсем случайно, и это не очень хорошо сLIMIT пункт, вы не всегда получаете количество записей, которые вы хотите.

Поэтому я подумал, что поскольку PK - это auto_increment, я просто генерирую список случайных идентификаторов и использую предложение IN, чтобы выбрать нужные мне строки. Проблема с этим подходом состоит в том, что иногда мне нужен случайный набор данных с записями, имеющими специфический статус, статус, который находится не более чем в 5% от общего набора. Чтобы это работало, мне сначала нужно выяснить, какие у меняМожно используйте, которые имеют этот определенный статус, так что это тоже не сработает.

Я использую MySQL 5.1.46, механизм хранения MyISAM.
Может быть важно знать, что запрос на выбор случайных строк будет выполняться очень часто, и таблица, из которой он выбирает, часто добавляется.

Любая помощь будет принята с благодарностью!

Ответы на вопрос(3)

Ваш ответ на вопрос