максимальный лимит баз данных, которые могут быть созданы в MySQL? - PullRequest
0 голосов
/ 01 февраля 2011

Могу ли я создать до 500000000 баз данных в Mysql ??

Если да, то эффективно ли это?

здесь каждая база данных содержит пользовательские данные с 6 таблицами, содержащими информацию о пользователе.

Пожалуйста, объясните мне плюсы и минусы этой идеи в отношении производительности и реализации ..

Ответы [ 3 ]

4 голосов
/ 01 февраля 2011

Пожалуйста, не надо!

Что бы вы ни думали, какая бы ни была причина.Совершенно невозможно, чтобы создание такого количества баз данных было бы хорошей идеей.

Если вы ищете хранение данных для каждого пользователя или для каждого X. Тогда, пожалуйста, еще раз посмотрите, что такое реляционная база данных "Реляционная база данных сопоставляет данные, используя общие характеристики, обнаруженные в наборе данных. "

Допустим, вы создаете сервис изображений и хотите, чтобы у каждого пользователя были свои изображения.Один из способов - предоставить каждому пользователю собственную базу данных.Это неверно, поскольку данные для каждого пользователя содержат одинаковые характеристики, единственное, что отличается, - это отношение (у пользователя A есть изображение A, у пользователя B - изображение B), (у 1 пользователя есть 0 ... * изображений, и1 фотография принадлежит 1 пользователю).Поэтому вместо того, чтобы создавать такое количество баз данных, вы создаете пользовательскую таблицу и связываете ее с графической таблицей. Таким образом, вы эффективно использовали базу данных.

Чтобы ответить на более прямой вопрос.Создание таблицы с 50 000 записей, безусловно, более эффективно, чем создание 50 000 баз данных.

Отредактируйте связанный ответ на mysql.com: http://forums.mysql.com/read.php?20,74692,74705#msg-74705

0 голосов
/ 01 февраля 2011

Я подозреваю, что он интересуется этим по причинам производительности, а не потому, что он не знает лучше.

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

Однако, если вы готовы пойти на все, чтобы улучшить производительность, мое личное мнение будет в первую очередь рассматривать другую СУБД. Мой личный опыт работы с MySQL заключается в том, что это очень хорошая СУБД, если скорость не имеет значения - лично я нашел MSSQL намного быстрее.

0 голосов
/ 01 февраля 2011

Создание полной базы данных для каждого уникального пользователя далеко не идеально.Теперь вы заставляете SQL хранить каждую базу данных и независимо ссылаться на каждую таблицу.Не говоря уже о том, что база данных теперь должна работать усерднее при извлечении и хранении этой информации при ее перемещении между базами данных.

В целях нормализации лучше создать столбец «пользователь» в каждой таблице, которую вы можетепозвоните для ваших операций CRUD.Это сохраняет все все в одном месте и снимает нагрузку с базы данных.

...