2016-05-22 13 views
0

私はダブを持っています:私はスクリプトを実行するか、より少ないフィールドとより多くの接続を実行すると、データベーステーブル上に複数のフィールドと1つの接続がある方が良いですか?接続数以上のデータベースフィールド?

私はコメントシステムのスクリプトを書いている、ここではそのテーブルの構造である:

id | user_id | name | comment | reply_to 
________________________________________ 
1 | 342442 | wow | nice | NULL 
2 | 235442 | asda | thanks | 1 

I出力2番目のコメント、私もREPLY_TOの名前を選択する必要がある場合コメントを参照し、その別のクエリを実行

ここ

が他のオプションです:

id | user_id | name | comment | reply_to | reply_to_userid | reply_to_name | 
____________________________________________________________________________ 
1 | 342442 | wow | nice | NULL | NULL   | NULL 
2 | 235442 | asda | thanks | 1  | 342442   | wow 

私は私の最高のパフォーマンスを与えるかわからない、あなたは私を助けることができますか? ありがとうございます。

答えて

1

2つのテーブルで名前を繰り返すのではなく、ユーザーのIDでユーザーテーブルを参照して名前を取得することをお勧めします。データベースの正規化ルールについて読むと、データベースを構造化する最も効率的な方法に導くことができます。

+0

接続が増えてフィールドが少なくなっていますか?ありがとう!それは非常に便利でした。私は、最も効率的なテーブル構造は、1つのripetitionと2つ目の方法の2つしかないので投稿した1番目だと思う。 –

+0

はい、繰り返しは使用しないでください。私は50以上のテーブルを持つ複雑なWebアプリケーションを作成しました(しかし、それらは多くのメトリクスとデータを持つユーザープロファイルでした。最初のプロトタイプはすべてのデータが4つのテーブルのみでした)、パフォーマンスはほぼ100倍向上しました。 –

関連する問題