2011-11-13 13 views
0

1500-2000人のアクティブなユーザーを一度に大規模に扱う最も高速な方法はどれですか?パフォーマンスのためのMysqlのテーブル/フィールド構造

40+会員情報フィールド

  • は、テーブルの上に3つの異なるテーブルに別個
  • をすべてのフィールドを入れて参加左を使用する(左ダウン照会遅らせることができる参加が)上記と同じ
  • しかし3つのクエリを使用してデータを取得する

ビューには40以上のフィールドが必要ですが、プロファイルを表示する場合は30以上、検索クエリを実行する場合は約15+となります。

私は一日ですべてを維持するという考えは、私が望む特定のフィールドを選択する1つのクイッククエリを意味します。複数のテーブルはよりきれいですが、必要なものをすべて取得するために、より多くのクエリや左結合を意味します。何人かのユーザーの問題はありませんが、遅くなると何千ものユーザーが目立ちます。何かご意見は?

答えて

0

静的な行の長さの場合、MyISAMのカラムが短くなることがあります。 InnoDBでは、このエンジンを使用することをお勧めします。テーブルを分離するメリットはありません。

私の意見 - すべてを1つのテーブルに保存してください。

いずれの場合も適切な溶液を使用してください。例:search - スフィンクス、セッション、およびユーザー情報 - memcache。

関連する問題