84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
inner join和left join各自在什麼情境下執行效率會相對高一些呢?
left join在任何場景下都不會比inner join的執行效率高 因為left join除了需要所有inner join的結果集以外還需要左表的所有沒有關聯上的數據
left join除了要求關聯欄位有索引以外,最好將小表作為左表,因為檢索的循環次數較少,前提是你的業務邏輯沒問題,因為不同的寫法邏輯是不一樣的
inner join會自動選擇合適的表作為基礎表,也仍然要求有關聯字段索引,並且最好是int型檢索效率更高
說真心的,你問問題的方向也不太對。 。 。 只是限制條件和索引還是查詢合理,速度都很快inner join 不以誰為基礎,展示符合條件的數據left join 以左為基礎,連右表
就效率來說 肯定是小表連大表快從一個MySQL left join優化的例子加深對查詢計劃的理解
left join在任何場景下都不會比inner join的執行效率高 因為left join除了需要所有inner join的結果集以外還需要左表的所有沒有關聯上的數據
left join除了要求關聯欄位有索引以外,最好將小表作為左表,因為檢索的循環次數較少,前提是你的業務邏輯沒問題,因為不同的寫法邏輯是不一樣的
inner join會自動選擇合適的表作為基礎表,也仍然要求有關聯字段索引,並且最好是int型檢索效率更高
說真心的,你問問題的方向也不太對。 。 。
只是限制條件和索引還是查詢合理,速度都很快
inner join 不以誰為基礎,展示符合條件的數據
left join 以左為基礎,連右表
就效率來說 肯定是小表連大表快
從一個MySQL left join優化的例子加深對查詢計劃的理解