データベースの効率 - ユーザーごとのテーブルとユーザーのテーブル 質問する

データベースの効率 - ユーザーごとのテーブルとユーザーのテーブル 質問する

ユーザーを持つ Web サイトの場合。各ユーザーは任意の数の投稿 (ここでは「投稿」と呼びます) を作成できます。

効率性の観点から、投稿ごとに投稿を作成したユーザーのユーザーIDを保存して、すべての投稿に対して1つのテーブルを作成する方が良いでしょうか。それとも、別のテーブルを作成する方が良いでしょうか。テーブル各ユーザーごとに、そのユーザーが作成した投稿だけをそこに保存しますか?

ベストアンサー1

データベースにデータを追加してもレイアウトは変更されないため、ユーザー データは必ず 1 つのテーブルに格納する必要があります。

また:

  • 複数のテーブルがある場合は、クエリを動的に作成する必要があります。

  • 1 つのテーブルに対してキャッシュされたクエリ プランは、他のテーブルには使用されません。

  • 1 つのテーブルに大量のデータがあってもパフォーマンスに大きな影響はありませんが、テーブルの数が多ければ影響があります。

  • クエリを高速化するためにテーブルにインデックスを追加する場合は、単一のテーブルで行う方がはるかに簡単です。

おすすめ記事