ITMISS
2019-07-13 09:20:34
子查詢與聯(lián)接我重構(gòu)了我們從另一家公司繼承的應(yīng)用程序中的一個(gè)緩慢部分,以使用內(nèi)部連接,而不是像以下這樣的子查詢:WHERE id IN (SELECT id FROM ...)重構(gòu)查詢運(yùn)行速度大約快100倍。(~50秒~0.3)我預(yù)期會(huì)有改善,但誰(shuí)能解釋一下為什么這么劇烈?WHERE子句中使用的列都已編入索引。SQL是否在WHERE子句中每一行執(zhí)行一次查詢?更新-解釋結(jié)果:不同之處在于“其中id in()”查詢的第二部分-2 DEPENDENT SUBQUERY submission_tags ref st_tag_id st_tag_id 4 const 2966 Using wherevs1索引行與聯(lián)接: SIMPLE s eq_ref PRIMARY PRIMARY 4 newsladder_production.st.submission_id 1 Using index
3 回答

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

MYYA
TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消