SQL语法顺序及优化点
语法顺序:
select 【distinct】 ....from ....【xxx join】【on】....where....group by ....having....【union】....order by......
执行顺序:
from ....【xxx join】【on】....where....group by ....avg()、sum()....having....select 【distinct】....order by......
优化点
1、from 子句--执行顺序为从后往前、从右到左。
因此:表名(最后面的那个表名为驱动表,执行顺序为从后往前, 所以数据量较少的表尽量放后)
2、where子句--执行顺序为自下而上、从右到左。
因此:将可以过滤掉大量数据的条件写在where的子句的末尾性能最优
3、group by 和order by 子句执行顺序都为从左到右。
因此:select子句少用*号,尽量取字段名称。 使用列名意味着将减少消耗时间。