MySQL指定驱动表

MySQL通过手动指定驱动表,调整mysql执行计划,达到全面掌控优化策略的目标。

STRAIGHT_JOIN的应用

MySQL在执行SQL时会先对表的查询行数进行预判,从中选择数据行数较小的表作为驱动表(主表),当查询中使用子查询优化SQL时,MySQL对子查询结果集的预判可能会出错偏差,此时,如果想使用子查询的结果集做为驱动表,就可以使用STRAIGHT_JOIN进行连接操作。

select * from 
(SELECT a1 FROM demo.a) as c
 STRAIGHT_JOIN 
 demo.b 
 on c.a1 = b.a1