mysql join语句的执行流程是怎么样的 join语句是使用十分频繁的sql语句,同样结果的join语句,写法不同会有非常大的性能差距. select * from t1 straight_join t2 on (t1.a=t2.a);a字段都有索引 TRAIGHT_JOIN语法能指定使用左边的表作为join语句的驱动表,join是让执行器自动选择.以上语句会选择t1作为驱动表. join语句,mysql内部执行时候会采用2中算法.一个是NLJ(Index Nested-Loop Join)…
Mysql4.1开始支持SQL的子查询.这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中.使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易.但是,有些情况下,子查询可以被更有效率的连接JOIN替代.假设我们要将所有没有订单记录的用户取出来,可以用下面这个查询完成: SELECT * FROM customerinfo WHERE CustomerID NOT in (S…