Какова лучшая база данных для хранения ~ 50 000 000 значений? - PullRequest
1 голос
/ 01 августа 2011

Мне нужно хранить ~ 50 000 000 значений, которые содержат только id (автоинкремент) и varchar (32). А затем показать случайное значение для каждой загрузки страницы. Конечно, я бы не использовал RAND ().

Итак, хорош ли MySQL, если я работаю с PHP? Или я должен изучить другую базу данных, которая является более оптимальной?

Ответы [ 3 ]

7 голосов
/ 01 августа 2011

50 миллионов строк - ошибка округления для основных РСУБД.

Используйте MySQL, если вы его знаете, или выберите тот, с которым вам удобно.

Чтобы выбрать одну строку из 50 миллионов, вы генерируете число от 1 до 50 миллионов и выбираете эту единственнуюстрока.Так почему бы не использовать RAND в качестве генератора чисел?(Изменить: но не в ORDER BY согласно комментарию redShadow к вопросу)

0 голосов
/ 01 августа 2011

Подумайте о том, чтобы разбить ваши данные на несколько таблиц: если вам когда-нибудь придется изменить схему вашей таблицы, вам нужно перестроить таблицу с 50 миллионами строк вместо 10 таблиц с 5 миллионами строк.

0 голосов
/ 01 августа 2011

Если у вас нет лота запросов, MySQL, вероятно, в порядке.

Если вы не удаляете записи, а диапазон автоинкрементации является непрерывным, хранилище значений ключей идеально подходит для этого. Однако вам понадобится что-то (SQL, если вы ленивый :)), которое дает вам атомный счетчик, чтобы вы могли вставлять новые пары ключ-значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...