例如下面的查询语句select * from A inner join B using(id) inner join C using(name)假如A表数据为10000 B表数据为20000 C表的数据为30000, 假设B表和C表的连接后只有1的记录数按照mysql的执行计划, 会执行10000*20000*30000次循环(高性能MySql书籍上是这么表述的)执行计划是 while(A.next){ while(B.next) { while(C.next)但是这种情况,如果执行计划如下:first  declare tmpTable = while(B.next) { while(C.next)second while(A.next){ tmp.id = A.id下面的查询计划的循环次数就是 20000*30000 + 10000*n (n代表B和C连接的记录数)按道理说第二种的计划应该好于第一种,mysql为什么不采用?