Unter welchen Umst?nden ist die Ausführungseffizienz von Inner Join und Left Join relativ h?her?
left join在任何場(chǎng)景下都不會(huì)比inner join的執(zhí)行效率高 因?yàn)閘eft join除了需要所有inner join的結(jié)果集以外還需要左表的所有沒(méi)有關(guān)聯(lián)上的數(shù)據(jù)
left join除了要求關(guān)聯(lián)字段有索引以外,最好將小表作為左表,因?yàn)闄z索的循環(huán)次數(shù)更少,前提是你的業(yè)務(wù)邏輯沒(méi)問(wèn)題,因?yàn)椴煌膶?xiě)法邏輯是不一樣的
inner join會(huì)自動(dòng)選擇合適的表作為基礎(chǔ)表,也仍然要求有關(guān)聯(lián)字段索引,并且最好是int型檢索效率更高
說(shuō)真心的,你問(wèn)問(wèn)題的方向也不太對(duì)。。。
只是限制條件和索引還是查詢合理,速度都很快
inner join 不以誰(shuí)為基礎(chǔ),展示符合條件的數(shù)據(jù)
left join 以左為基礎(chǔ),連右表
就效率來(lái)說(shuō) 肯定是小表連大表快
從一個(gè)MySQL left join優(yōu)化的例子加深對(duì)查詢計(jì)劃的理解