1、Left Join即保存左表的所有数据,然后和右表做连接操作,筛选出符合条件的数据,若右表中不存在左表对应的数据行,则该行右表相关字段置为空。
2、其实即执行原理可以视作,从左表(驱动表)逐行取出数据与右表(被驱动表)进行匹配,筛选出合理的数据。从这就可以看出,左表始终是逐行扫描的,但是右表却可以优化,如果在右表中的该连接字段上加了索引的话,那会极大的地提升执行速度。
3、所以引出了sql优化原则,小表驱动大表,被驱动表尽量带索引的原则。比如带有 in 的 sql 语句也是如此。
1、Left Join即保存左表的所有数据,然后和右表做连接操作,筛选出符合条件的数据,若右表中不存在左表对应的数据行,则该行右表相关字段置为空。
2、其实即执行原理可以视作,从左表(驱动表)逐行取出数据与右表(被驱动表)进行匹配,筛选出合理的数据。从这就可以看出,左表始终是逐行扫描的,但是右表却可以优化,如果在右表中的该连接字段上加了索引的话,那会极大的地提升执行速度。
3、所以引出了sql优化原则,小表驱动大表,被驱动表尽量带索引的原则。比如带有 in 的 sql 语句也是如此。