SQL语法顺序及优化点

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子句少用*号,尽量取字段名称。 使用列名意味着将减少消耗时间。

原文地址:https://www.cnblogs.com/karrya/p/13952835.html