文章詳情頁
mysql - inner join和left join的效率問題
瀏覽:106日期: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)化的例子加深對查詢計(jì)劃的理解
相關(guān)文章:
1. python - scrapy 如何組合2個不同頁面的數(shù)據(jù),一并存儲2. mysql優(yōu)化 - mysql 一張表如果不能確保字段列長度一致,是不是就不需要用到char。3. node.js - mysql如何通過knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)4. javascript - 用jsonp抓取qq音樂總是說回調(diào)函數(shù)沒有定義5. javascript - 新浪微博網(wǎng)頁版的字?jǐn)?shù)限制是怎么做的6. sublime可以用其他編譯器替換嗎?7. python2.7 - python 函數(shù)或者類 代碼的執(zhí)行順序8. 使用python中的pandas求每個值占該列的比例9. python - 多態(tài)調(diào)用方法時卻顯示bound method...10. mysql 怎么做到update只更新一行數(shù)據(jù)?
排行榜

熱門標(biāo)簽