我有一個優化的問題,我想執行的子查詢第一SQL子查詢優化,如何執行子查詢第一
EXPLAIN
SELECT *
FROM `References_galaxia`
, Link_galaxia
WHERE linkReferenced IN (SELECT id
FROM Link_galaxia
WHERE idConceptStart IN (616269,616268,615721)
AND idConceptLink = 315
AND idConceptTarget = 29209
)
AND `References_galaxia`.linkReferenced = Link_galaxia.id
AND `References_galaxia`.idConcept IN (416,36053,36088,36037)
主要查詢返回一百萬條記錄到存儲數據的hudge量。雖然子查詢
SELECT ID FROM Link_galaxia WHERE idConceptStart IN (616269,616268,615721)AND idConceptLink = 315和idConceptTarget = 29209)
返回數據的少量。如何管理先執行子查詢?
的結果說明
1 PRIMARY References_galaxia ALL unique_ref,linkReferenced NULL NULL NULL 9163156 Using where
1 PRIMARY Link_galaxia eq_ref PRIMARY PRIMARY 4 eds_sandra.References_galaxia.linkReferenced 1
2 DEPENDENT SUBQUERY Link_galaxia eq_ref PRIMARY,idx_name,idConceptStart,idConceptStart_4,idConceptTarget,idConceptLink PRIMARY 4 References_galaxia.linkReferenced 1 Using where
謝謝你很多關於你的幫助!
你似乎不太喜歡'JOIN'這個詞。 – Strawberry