0
假設我有兩個表A和B. 現在,如果表A與ac1 = bc2上的B左連接(ac1是表A的列,bc1是表B的列)。在進一步執行條件之前,mysql是否必須讀取整個表A的ac1列並將其放入內存(RAM)中?如何在發生左連接時讀取/掃描表?
或者可以讀取一定數量的行,然後讀取下一定的數量?
假設我有兩個表A和B. 現在,如果表A與ac1 = bc2上的B左連接(ac1是表A的列,bc1是表B的列)。在進一步執行條件之前,mysql是否必須讀取整個表A的ac1列並將其放入內存(RAM)中?如何在發生左連接時讀取/掃描表?
或者可以讀取一定數量的行,然後讀取下一定的數量?
(笛卡爾乘積)表左連接B,表中的所有行乘表B中的所有行,表中的是基表,如果表B沒有匹配數據時,相應的列是空
https://開頭dev.mysql.com/doc/refman/5.7/en/left-join-optimization.html – Strawberry
我已經閱讀過。我問的原因是,如果表A真的非常大,如千兆字節的數據,那麼msyql是否仍然讀取整個表A? @Strawberry – codersaif
請相應地編輯你的問題 - 儘管在我看來,更適合於dba論壇 – Strawberry