FROM
执行顺序为从后往前、从右到左。数据量较大的表尽量放在后面。

WHERE
执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE字句的最右。

GROUP BY
执行顺序从右往左分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉。

HAVING
消耗资源。尽量避免使用,HAVING会在检索出所有记录之后才对结果进行过滤,需要排序等操作。

ORDER BY
执行顺序从左到右,消耗资源。

SELECT
少用星号,尽量使用字段名称,oracle在解析的过程中,通过查询数据字典将*号依次转换成所有列名,消耗时间。

LIMIT
注意:并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。

更多推荐

执行SQL语句的优先级顺序