0

次のようなコメントテーブルがあります

Comments
----------------
Id
ContentId
CreateDate
UserId
Text
ImageUrl

コメントを取得したいときは、次の SQL クエリを使用します。

SELECT Comments.*, Users.Name AS Username, Users.Thumbnail AS UserThumbnail 
FROM Comments, Users 
WHERE Users.ID = Comments.UserId

Username 列と UserThumbnail 列を Comments テーブルに追加してSELECT * FROM Commentsクエリを使用すると、パフォーマンスが向上しますか

Comments
-----------
Id
ContentId
CreatedDate
UserId
Username
UserThumbnail
Text
ImageUrl
4

2 に答える 2

0

適切にインデックスを作成していれば、そのクエリはすでに高速になっているはずです。いいえ、非正規化を検討すべきではありません。そうすると、トリガーを追加して、データが変更されたときにデータを最新の状態に保つ必要があり、挿入が遅くなります。または、データベースに悪いデータが含まれ、すべてが無価値になります。

ところで、暗黙的な結合はSQLのアンチパターン領域であり、それらの使用を停止する必要があります。偶発的な crios 結合を取得するのは簡単です。後でそれらを左結合と組み合わせると、誤った結果が得られる可能性があり、維持するのが難しく、20 年以上前に置き換えられました。

于 2013-08-14T14:25:25.280 に答える