mysql多表連線索引問題

2021-10-17 19:05:34 字數 1368 閱讀 7869

要想明白多表連線過程中索引是否起作用,哪個表的索引起作用。

首先先了解在join連線時哪個表是驅動表,哪個表是被驅動表:

1.當使用left join時,左表是驅動表,右表是被驅動表,

2.當使用right join時,右表時驅動表,左表是被驅動表,

3.當使用join時,mysql會選擇資料量比較小的表作為驅動表,大表作為被驅動表。

下面就為示例分析,供您參考學習,如有不對的地方請指正。

現有兩張表scan_necessary與necessary。scan_necessary表建立了普通索引necessaryid_index且資料量大,necessary表建立了普通索引guid_index且資料量小。

多表連線時永遠是被驅動表的索引起作用

MySQL多表連線刪除問題

delete是乙個蠻慎重的sql操作,一般來說這樣刪除操作都需要謹慎小心,以免造成不必要的損失。delete有下面這幾種情況 delete from t1 where條件 delete t1 from t1 where條件 delete t1 from t1,t2 where條件 delete t1...

MySQL多表連線刪除問題

delete是乙個蠻慎重的sql操作,一般來說這樣刪除操作都需要謹慎小心,以免造成不必要的損失。delete有下面這幾種情況 delete from t1 where條件 delete t1 from t1 where條件 delete t1 from t1,t2 where條件 delete t1...

mysql多表連線

現有表r,s如下 select from r,s 結果 注 不需要任何條件。結果為兩張表函式相乘 3x3 9 自連線 select e.empno,e.ename,m.empno,m.ename from emp e,emp m where m.mgr e.empno 分為三種 交叉連線 內連線 外...