1.参数是子查询时,使用EXISTS代替IN
2.参数是子查询时,使用连接代替IN
3.避免排序
会进行排序的代表性的运算
● GROUP BY子句● ORDER BY子句
● 聚合函数(SUM、COUNT、AVG、MAX、MIN)
● DISTINCT
● 集合运算符(UNION、INTERSECT、EXCEPT)
● 窗口函数(RANK、ROW_NUMBER等)
4.在极值函数中使用索引(MAX/MIN)
5.能写在WHERE子句里的条件不要写在HAVING子句里
6.使用索引时,条件表达式的左侧应该是原始字段
7.使用LIKE谓词进行后方一致或中间一致的匹配
8.减少中间表
- 灵活使用HAVING子句
- 先进行连接再进行聚合
- 合理地使用视图