A left join b where b.status = 1
和
A inner join b on b.status = 1
这两种方式哪种方式执行效率更快?
第二个吧,不太清楚,只不过有些场景需要其中一个,不能完全等价
你这两个语法都是错的
没有a和b的关联字段,那a和b是在做笛卡尔积,两两排列组合,结果毫无意义
对于一个错误的结果谈论哪个执行更快,有任何意义吗
单看语句的话,第二种更快一些。第一种先执行关联,关联的结果再进行where筛选。所以关联的时候是a和b的全量信息进行的。第二种是先将b表进行筛选,然后执行内连,所以相当于以b筛选完的数据进行关联。而且从关联的方式来看,内连要比左外连接效率更高。