博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库查询语句执行顺序
阅读量:6607 次
发布时间:2019-06-24

本文共 443 字,大约阅读时间需要 1 分钟。

hot3.png

查询语句的执行顺序:

1、FROM 子句:执行顺序为从后往前、从右到左。数据量较少的表尽量放在后面。
2、WHERE子句:执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE 子句的最右。
3、GROUP BY:执行顺序从左往右分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉。
4、HAVING 子句:消耗资源。尽量避免使用,HAVING 会在检索出所有记录之后才对结果集进行过滤,需要排序等操作。

HAVING子句必须跟在GROUP BY 后面,不能单独存在!

5、SELECT子句:少用*号,尽量取字段名称。ORACLE 在解析的过程中, 通过查询数据字典将*号依次转换成所有的列名, 消耗时间。

6、ORDER BY子句:执行顺序为从左到右排序,消耗资源。

ORDER BY子句出现的位置必须在SELECT中的最后一个子句。

转载于:https://my.oschina.net/langgege/blog/667270

你可能感兴趣的文章
软件开发各阶段交付物列表
查看>>
2018-05-24 Linux学习
查看>>
ntp服务器的搭建
查看>>
我的友情链接
查看>>
sysstat 安装
查看>>
六、nginx搭建织梦DedeCms网站
查看>>
Tair学习小记
查看>>
网卡绑定(服务器&&交换机),缓存服务器Squid架构配置
查看>>
web网站加速之CDN(Content Delivery Network)技术原理
查看>>
打算写一款框架来提高自己 写个结构吧
查看>>
vue学习:10、第一个项目,实践中遇到的问题
查看>>
sed的基本用法
查看>>
一个不错的shell 脚本入门教程
查看>>
JVM、GC相关资料
查看>>
dell r620装cenots7遇到的问题
查看>>
Ansible之playbook的使用
查看>>
ansible模块批量管理
查看>>
redis命令 - GET
查看>>
httpd.conf的基本设置
查看>>
RHEL/Centos7新功能
查看>>