楼主可以执行
explain select A.* from A left join B on A.id = B.id where A.type = 'csdn';
查看MYSQL的执行计划。
如果想了解更多语句的优化步骤,则可以参考MYSQL官方免费手册的第七章《优化》
explain select A.* from A left join B on A.id = B.id where A.type = 'csdn';
查看MYSQL的执行计划。
如果想了解更多语句的优化步骤,则可以参考MYSQL官方免费手册的第七章《优化》
分析语句执行时间
另外,从原理分析也很容易分析出来,这种不会有所谓的笛卡尔问题。
左表先被打开,利用索引type定位数据,然后通过主键id直接获取B数据(假设哈)。
如果是这样的话,那么它就是一个标准的索引查询定位,主键关联的关系应用。如果你的sql中where 是b.type='csdn',你就会看到不一样的问题了。那时候的问题其实变成了右表为大表的问题了:)