外连接:
以驱动表的排序结果作为总结果集的排序顺序
内连接:
以已经排序的表作为总结果集的排序顺序,若有多张表,采用最后一张排序表的排序顺序
确认驱动表
没where条件时:
1.当使用left join时,左表是驱动表,右表是被驱动表
2.当使用right join时,右表是驱动表,左表是被驱动表
3.当使用inner join时,mysql会选择数据量比较小的表作为驱动表,大表作为被驱动表有where条件时:
带where条件的是驱动表,否则是被驱动表
- 多表连接时,用小表驱动大表,驱动表创建索引时,mysql可能用不到。
- 在大表(被驱动表)上建立索引。
- 多表联接并且有排序时,排序字段必须是驱动表里的,否则排序列无法用到索引;