0

2 つのテーブルを見てみましょう。たとえば、テーブル Postとテーブルでは、 user_id列が外部キーです。User
Post

テーブル Post
-id
-user_id
-post

Table User
-userID
-username

投稿者のユーザー名を取得したい場合は、joinクエリを使用してUserテーブルから取得する必要があります。

PostSQL クエリを簡素化するために、投稿者のユーザー名を格納するための列をテーブルに追加する方が簡単ではないでしょうか。この場合、Postテーブルにはuser_id列とusername列 ( username列は冗長) がありますが、join投稿者のユーザー名を取得するためのクエリが不要になります。

Postユーザー名をテーブルに保存するかどうか、最良の選択は何ですか

4

2 に答える 2

1

ビューの作成はオプションです。そのビューを照会する必要があります。ただし、msql のビューは、以前ほどパフォーマンスの面でメリットを提供しません。

結合を実行するだけで問題ない場合があります。最終的に保存するデータの量によっては、テーブルのパーティション分割など、パフォーマンスを向上させるための他の手段を検討する必要がある場合があります。ただし、それはダウンザライン用です。

于 2012-05-17T14:40:14.633 に答える
0

DB に冗長データを追加することは、適切な選択ではありません。

選択クエリを単純化する必要がある場合は、その場合のビューを作成してください。そうすれば、データは 1 か所にあり、毎回参加する必要はありません。しかし、単純な結合は実際にはそれほど大したことではありません。

于 2012-05-17T14:35:43.123 に答える