ユーザーを持つ Web サイトの場合。各ユーザーは任意の数の投稿 (ここでは「投稿」と呼びます) を作成できます。
効率性の観点から、投稿ごとに投稿を作成したユーザーのユーザーIDを保存して、すべての投稿に対して1つのテーブルを作成する方が良いでしょうか。それとも、別のテーブルを作成する方が良いでしょうか。テーブル各ユーザーごとに、そのユーザーが作成した投稿だけをそこに保存しますか?
ベストアンサー1
データベースにデータを追加してもレイアウトは変更されないため、ユーザー データは必ず 1 つのテーブルに格納する必要があります。
また:
複数のテーブルがある場合は、クエリを動的に作成する必要があります。
1 つのテーブルに対してキャッシュされたクエリ プランは、他のテーブルには使用されません。
1 つのテーブルに大量のデータがあってもパフォーマンスに大きな影響はありませんが、テーブルの数が多ければ影響があります。
クエリを高速化するためにテーブルにインデックスを追加する場合は、単一のテーブルで行う方がはるかに簡単です。