2011-08-16 8 views
0

MSSQLデータベースのパフォーマンスは、その中にあるより多くのテーブルで低下しますか?たとえそのテーブルにデータがほとんどない(たとえば100行しかない)場合でも、何百ものテーブルが存在します。MSSQLデータベースにテーブルを増やすと処理速度が低下しますか?

問題のMSSQLの特定のバージョンは、2008年版です。

ロジックは、Webサイトにサインアップする各ユーザーが、他のすべてのユーザーとは別のデータを格納する独自のテーブルセットを取得することです。これにより、ユーザアカウントをサーバ間で移動し、必要があれば、完全に削除することができます。さらに、データを完全に分割して取得するのが難しいことを知って、ユーザーに快適性を提供します。

もう1つの問題は、コンテンツデータテーブルがあり、そこにフィールドがわずかしかないという点で、ユーザーアカウントデータがテーブルと同様のテーブルに格納されていることです。小さな投稿、カレンダーエントリ、プライベートメッセージから、ユーザによって書き込まれた大きなマルチページ記事まで、 1つのコンテンツでは、平均して10〜15行がそのテーブルに追加されます。だから、すべてのユーザーに単一の大きなテーブルを持たせることは、私が想像するシナリオではパフォーマンスが非常に悪いようです。

サイトに作成されたAPIを介してのみデータにアクセスすることができます。このAPIは、ユーザーに固有のデータをプルし、呼び出しごとにデータへのアクセスを検証します。どんな種類のデータでも将来作成することができます。その理由は、ユーザーが設定などのためにいくつかの他のコンテンツテーブルを持つ理由です。各ユーザーは、サイトのさまざまな管理面でおよそ15のテーブルを持ちます。たとえば、apiを使用すると、ユーザyのコンテンツブロックxをユーザzとして要求できます。セキュリティを検証し、ブロックxのすべてのデータフィールドをテーブルから取得します。

最終的に膨大な量のテーブルが増えてシステムが大幅に遅くなりますか?または、単一のテーブルにこのような大量のデータを格納すると、スローダウンが大きくなりますか?

+3

ロジックはありません。ここで論理とは、Webサイトにサインアップする各ユーザーが、他のすべてのユーザーとは別のデータを格納する独自のテーブルセットを取得することです。 – leppie

+3

ユーザーごとに1つのテーブルを持つことは悪い考えです。 – dpp

+0

1つのテーブルだけでなく、各ユーザーのセキュリティ、データ、設定などさまざまなものを管理するために、ユーザーあたり10〜15のテーブルを使用しています。最終的には、数千人のユーザーが各データベースに存在することが予想されます。 – DefconRhall

答えて

5

いいえ、関連する余白はありません。

あなたのlgoicはまだ間違っています - あなたは多くのSQL機能を失っているか、クロスユーザクエリのためにたくさんのユニオンを作らなければなりません。彼は非常に特殊なケースがなければ、99.99%の確信を持っていないというコンセプトを持って来る人は誰も撃ちません。あなたはWindows用の16ビットソフトウェアを今日開発しているような、同様のレベル。

だから、要するに:

  • いや、いやパフォーマンスが大幅に低下。

  • まだまだ悪いデザインです。

関連する問題