私は、多くの左ジョインと日付を伴う内部ジョインを持つこのクエリを持っています。 id_art(articles_artから)とdate_dat(dates_dat)でグループ化する必要があります。問題はそれが本当に遅いことです。 1000レコードは3秒かかります。 dates_datはdates_datテーブルで索引付けされ、id_artはarticles_artの主キーです。 このクエリを最適化するにはどうすればよいですか?mysql:joinで高速グループ化
SELECT
id_art, image2_art, video_art, website,
text.title_int, text.intro_int, text.text_int, text.extra_int,
dat.date_dat, dat.date2_dat,
group_concat(tim.time_tim),
prd.name_prd,
group_concat(cat.name_cat),
trg.name_trg,
spa.name_spa,
spa2.name_spa
FROM
articles_art AS art
LEFT JOIN internText_int AS text ON text.idart_int = art.id_art
INNER JOIN dates_dat AS dat ON art.id_art = dat.idart_dat
LEFT JOIN spaces_spa As spa ON spa.id_spa = dat.idspa_dat
LEFT JOIN spaces_spa As spa2 ON spa.id_spa = dat.idspa2_dat
LEFT JOIN times_tim AS tim ON tim.iddat_tim = dat.id_dat
LEFT JOIN articles_products_artprd AS artprd ON artprd.idart_artprd = art.id_art
LEFT JOIN products_prd AS prd ON prd.id_prd = artprd.idprd_artprd
LEFT JOIN cater_cev AS cev ON cev.idart_cev = dat.idart_dat
LEFT JOIN categories_cat AS cat ON cat.id_cat = cev.idcat_cev
LEFT JOIN targets_trg AS trg ON trg.id_trg = art.idtrg_art
WHERE
prd.id_prd in (1,2)
AND validated_art = 1
AND text.idlin_int in (1,4)
GROUP BY
id_art, date_dat
説明プランを掲載できますか? – ruakh
索引は、選択された照会のパフォーマンスの鍵です。照会からの説明を追加することで、索引の欠落箇所を特定するのに役立ちます。 – ManseUK
クエリーの説明がどのように役立つべきか?私はpossible_keys、key、ref、rows、extraを見ていますが、これがどのように役立つのかわかりません。説明して頂けますか?ありがとう – Pietro