Задать вопрос

Способ хранения для 2 млн. записей

Задача такова: нужно хранить около 2 млн. различных записей вида «доменное имя; 3-х байтовое число», необходима возможность осуществлять операцию «получить N случайных (но различных) записей» при N ≤ 2 млн.

Желательно, чтобы к хранилищу был удобный доступ из PHP и Python. Хранилище должно потреблять по возможности меньше оперативной памяти и работать быстро.

Что бы вы предложили использовать в таком случае?
  • Вопрос задан
  • 3198 просмотров
Подписаться 5 Оценить Комментировать
Ответ пользователя Dmitry Dedukhin К ответам на вопрос (9)
@Demetros
Не знаю насчет других БД, но в MySQL мне известен только один способ получения случайной выборки:

SELECT * FROM table ORDER BY rand() LIMIT N;

Это _очень_ медленно работает, т.к. сканируется вся таблица («Using temporary; Using filesort» со всеми вытекающими).
Ответ написан