0

この概念を理解するために、適切なインデックス付きテーブルを作成するにはどうすればよいかを知りたいのですが、例として映画を使用します。

複数のフィールドを持つこれらの 5 つのテーブルがありますが、ここではこれらのテーブルのプライマリ インデックス フィールドのみをリストします。

movies
  movie_id = primary index
actors
  actor_id = primary index
geners
  gener_id = primary index
reviews
  review_id = primary index

そして、それぞれ2つの列との関係のためにこれらのテーブルを持っています.これらのリレーショナルテーブルを持つインデックスのタイプがわかりません:

movie_actor
   movie_id,actor_id
movie_gener
   movie_id,gener_id
movie_review
   movie_id,review_id

これらのフィールドに参加しています 映画の詳細を取得したい場合は、次のようなクエリを使用します。

SELECT * 
FROM movies as m
LEFT JOIN movie_actor  AS ma  ON ma.movie_id = m.movie_id
LEFT JOIN actors       AS a   ON a.ator_id   = ma.actor_id
LEFT JOIN movie_gener  AS mg  ON mg.movie_id = m.movie_id
LEFT JOIN geners       AS g   ON g.gener_id  = mg.gener_id
LEFT JOIN movie_review AS mr  ON mr.movie_id = m.movie_id
LEFT JOIN reviews      AS r   ON r.review_id = mr.review_id 
WHERE m.movie_id = 1234

では、リレーショナル テーブル (movie_actor、movie_gener、movie_review) の両方のフィールドでどの種類のインデックスを使用すればよいでしょうか。ありがとう

4

1 に答える 1

1

各テーブルで主キーにできるフィールドは 1 つだけです テーブルには主キーを 1 つだけ設定できます (ユーザーが修正)。MySQL の INDEX、PRIMARY、UNIQUE、FULLTEXT の違いについては、この投稿を参照してください。

于 2013-04-09T07:21:18.837 に答える