查询语句的执行顺序依下列子句次序:
1.from 子句:执行顺序为从后往前、从右到左
数据量较少的表尽量放在后面
2.where子句:执行顺序为自下而上,从右到左
将能过滤掉最大数量记录的条件写在WHERE子句的最右
3.group by--执行顺序从左往右分组
最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉
4.HAVING 子句:消耗资源
尽量避免使用,HAVING会在检索出所有记录之后才对结果集进行过滤,需要排序等操作
5.select子句:少用*号,尽量取字段名称。
ORACLE在解析的过程中,通过查询数据字典将*号依次转换成所有的列名,消耗时间
6.order by子句:执行顺序为从左到右排序,消耗资源
时间: 2024-11-10 21:47:22