如何优化SQL语句

2025-05-02 23:11:00

1、sql语句作为结构化查询语言,从语法构成和逻辑上相对简单明了,简单举例基本语法样式:select *------[column]from *-------[table]where *--幻腾寂埒-----[检索条件]group by *----[将数据按组划分];insert,update,delete同理类似;当然复杂点的语句嵌套,子查询,表关联等等,但是首先我们要了解sql的执行顺序,才可以从原理上来优化语句。

2、标准的SQL语句的执行顺序:1、首先执行from子句,如果from后有多个table,先组装不同的数据源到临时表T1

3、根据where后的条件对临时表T1进行筛选过滤,生成临时表T2

4、按照group by *对临时表T2的数据进行分组,分组后生成临时表T3。【如果没有用到聚合函数,当然也可以不分组】

5、如果有having子句,接下来按照子句条件过滤临时表T3的数据,再生成临时表T4

6、执行se盟敢势袂lect,按照select所选择的列(column)对临时表T4进行过滤,先执行聚合函数,然后执行distin艘早祓胂ct去重复行,过滤后生成临时表T5。【如果select后用到聚合函数,则先进行计算。聚合函数也就是sum,count,avg,min,max等函数。】

7、order by *,按照order by 条件指定列对临时表T5的数据进行升序或者降序(ASC为升序,DESC为降序,默认为升序)排序后生成临时表T6

8、TOP,按照top的条件从临时表T6中拉出对应数据,生成临时表T7,并把数据呈现给用户。【TOP命令不是所有数据库都支持的】

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢