2011-07-28 1 views
0

私はtable2の200000行を持つデータベースを作成する必要があります& table2,3,4,5の10000行。私はmysqlを使用します。どのアプローチを使うとより速い結果が得られますか?複数のテーブルにデータを分散これは、より速い検索のためにmysqlを使用してデータベースを作成する効率的な方法です

  1. 行の多いテーブルのより少ない数を維持します。

テーブルを通過してそれらを結合するmysqlの速度はどれですか。&

+0

InnoDBを使用した主キー検索では、結果がすぐに(1秒未満で)得られます。検索中にテーブルを結合するかどうかにかかわらず、レコードの検索基準を指定していませんでした。しかし、200k行はそれほど多くはありません。適切に設定されたMySQLインスタンスは、残りのテーブルから10k行の200k行のcarthesianプロダクトを実行しないと仮定すると、結果はかなり早く返されます。 –

答えて

0

テーブルデザインに関する最初の懸念事項は、正規化と正しいインデックスである必要があります。

パフォーマンスの低下が発生した場合(200000行ではそれほど疑わしいことはありません)、正規化された構造と非正規化された構造との違いを測定します。

ベンチマークを行い、非正規化構造が本当に高速であることを確認した後にのみ、非正規化を行います。だから、もしあなたの2番目が200,000行の正規化されたテーブルを意味するなら、私は2番に行くでしょう。