1、小表驱动大表
这条优化原则要求查询中按执行顺序尽量用小数据集驱动大数据集。
示例1:
在使用in条件时,先执行in条件子句,此时由于B表先查,A表后查,B表的数据集应小于A表的数据集。
B表数据集小于A表数据集时,用in优于exists。
示例2:
在使用exists条件时,先执行外层的查询,此时由于A表先查,B表后查,A表的数据集应小于B表的数据集。
A表数据集小于B表数据集时,用exists优于in。
注意:A表和B表的id字段都应建索引
exists:将主查询的数据放到子查询中做条件验证,根据验证结果来决定主查询的数据是否保留。
由于exists子句只返回true或false,因