ムービー用のWebアプリケーションを開発する必要があります。 今のところ、私のデータベースには、フィギュアとムービーの関係のテーブルと、アクター(数字でもある)とムービーの関係のテーブルがあります。 最後の文字には文字に関する情報も含まれています。データベース速度の最適化(複数のクエリ)
私の質問では、正規化についてではなく、各テーブルに対して2つのクエリを実行するか、いくつかのタプルで文字のNULL値を持つ単一のテーブルにマージする方が効率的かどうかを知りたいと思います単一のクエリを実行しますか?
EDIT:今の
2つのクエリ(図側、彼の演技とキャリアを得るために):
$query1 = '
SELECT RelationFigureCardType.department, RelationFigureCardType.job, Movie.card_type_id, Movie.id, Movie.original_name, Movie.release_date, Movie.cover, Movie.cover_ext
FROM relation_figure_cards AS RelationFigureCard
RIGHT JOIN relation_figure_card_types AS RelationFigureCardType ON
(RelationFigureCard.relation_figure_card_type_id = RelationFigureCardType.id)
RIGHT JOIN cards AS Movie ON
(RelationFigureCard.card_id = Movie.id)
WHERE
RelationFigureCard.figure_card_id = '.$figureId.'
AND RelationFigureCard.last_card_version = 1
ORDER BY Movie.card_type_id, RelationFigureCardType.priority, Movie.release_date
;
';
$query2 = '
SELECT RelationActorCard.is_main, RelationActorCard.is_guest, Movie.card_type_id, Movie.id, Movie.original_name, Movie.release_date, Movie.cover, Movie.cover_ext, Character.id, Character.original_name, Character.cover, Character.cover_ext
FROM relation_actor_cards AS RelationActorCard
RIGHT JOIN cards AS `Character` ON
(RelationActorCard.character_card_id = Character.id)
RIGHT JOIN cards AS Movie ON
(RelationActorCard.card_id = Movie.id)
WHERE
RelationActorCard.figure_card_id = '.$figureId.'
AND RelationActorCard.last_card_version = 1
ORDER BY Movie.card_type_id, Movie.release_date
;
';
私はあなたの最後の文で少し風刺を疑う:)、しかしあなたは正しい。 これを行うには十分なデータがありません。 –
@Sébastien - まあ、ベンチマークの内容がわからない時があったことを覚えています。どうしてそれを説明してみませんか?ここで意図された嫌悪感はない... – Lumi