文章詳情頁
mysql - inner join和left join的效率問題
瀏覽:114日期:2022-06-11 08:37:23
問題描述
inner join和left join各自在什么情景下執(zhí)行效率會相對高些呢?
問題解答
回答1:left join在任何場景下都不會比inner join的執(zhí)行效率高 因?yàn)閘eft join除了需要所有inner join的結(jié)果集以外還需要左表的所有沒有關(guān)聯(lián)上的數(shù)據(jù)
left join除了要求關(guān)聯(lián)字段有索引以外,最好將小表作為左表,因?yàn)闄z索的循環(huán)次數(shù)更少,前提是你的業(yè)務(wù)邏輯沒問題,因?yàn)椴煌膶懛ㄟ壿嬍遣灰粯拥?/p>
inner join會自動選擇合適的表作為基礎(chǔ)表,也仍然要求有關(guān)聯(lián)字段索引,并且最好是int型檢索效率更高
回答2:說真心的,你問問題的方向也不太對。。。只是限制條件和索引還是查詢合理,速度都很快inner join 不以誰為基礎(chǔ),展示符合條件的數(shù)據(jù)left join 以左為基礎(chǔ),連右表
就效率來說 肯定是小表連大表快從一個MySQL left join優(yōu)化的例子加深對查詢計劃的理解
相關(guān)文章:
1. 安全性測試 - nodejs中如何防m(xù)ySQL注入2. javascript - 關(guān)于apply()與call()的問題3. html - eclipse 標(biāo)簽錯誤4. python 利用subprocess庫調(diào)用mplayer時發(fā)生錯誤5. python - Pycharm的Debug用不了6. datetime - Python如何獲取當(dāng)前時間7. 請問PHPstudy中的數(shù)據(jù)庫如何創(chuàng)建索引8. python - pycharm 自動刪除行尾空格9. python文檔怎么查看?10. javascript - nginx反向代理靜態(tài)資源403錯誤?
排行榜

熱門標(biāo)簽