2011-02-01 7 views
0

私はMysqlで500000000個のデータベースを作成できますか?mysqlで作成できるデータベースの最大数はどれですか?

「はい」の場合は効率的ですか?ここ

、各データベースには、その中のユーザ情報を含むことにある6つのテーブルを使用してユーザーデータを保持している。..

+3

各ユーザーに固有のデータベースを作成する理由は、すべてのユーザーに対して1つのテーブルを使用するのはなぜですか? –

+1

これは、ディスクドライブをいっぱいにして、DBMSが持っている可能性のあるインデックスアルゴリズムをすべて無効にする優れた方法です... – thkala

+2

http://datacharmer.blogspot.com/2009/03/normalization-and-smoking.html – Mchl

答えて

2

しないでください!

理由が何であれ、何を考えていても。多くのデータベースを作成することは良い考えではありません。

ユーザーごとまたはXごとにデータを格納する場合は、「リレーショナルデータベースがデータセット内にある共通の特性を使用してデータと一致する」ことをもう一度見てください。

イメージサービスを作成して、各ユーザーにそれぞれのイメージを持たせたいとします。 1つの方法は、各ユーザーに独自のデータベースを与えることです。これは間違っています。なぜなら、各ユーザーのデータには同じ特性が含まれているからです。唯一違うのは、ユーザーAが画像Aを持ち、ユーザーBが画像Bを持ちます。 1画像は1ユーザに属する)。そのため、多くのデータベースを作成するのではなく、ユーザーテーブルを作成し、これをピクチャテーブルに関連付けることで、データベースを効率的に使用できます。

あなたのより直接的な質問にお答えします。 50.000個のエントリを持つテーブルを作成すると、より効率的になり、50.000個のデータベースが作成されます。

編集mysql.comに関連する答え:http://forums.mysql.com/read.php?20,74692,74705#msg-74705

0

作成..私のパフォーマンスと実装に関して、このアイデアの長所と短所を説明してください一意のユーザーごとの完全なデータベースは理想的ではありません。各データベースを格納し、各テーブルを個別に参照するようにSQLを強制しています。言うまでもなく、データベースは、この情報をデータベース間でやりとりするときに、この情報を検索して格納する際に、より厳しく作業しなければなりません。

正規化の目的で、CRUD操作を呼び出すことができる各テーブルの「ユーザー」列を作成する方がよいでしょう。これによりすべてがすべて1か所に保持され、データベースの負担が軽減されます。

0

私は彼がパフォーマンス上の理由のためにこれを不思議に思っている疑いがある - 彼は良く知っているではないので。

各ユーザーのユニークなデータベース内のルックアップは、dbが大きくなるにつれて遅くなることはありません。

ただし、パフォーマンスを向上させるためにこれらの長さを使用する場合は、個人的には最初に別のDBMSを検討することになります。 mySQLの私の個人的な経験は、スピードが懸念されなければ、非常に優れたDBMSです。私は個人的にははるかに高速なMSSQLを見つけました。

関連する問題