SQL优化要点总结
文章比较简短,但很实用,SQL优化要点总结:
1、尽量避免大表的全表扫描,建立合适的索引,务必注意索引是把双刃剑,不能滥用,用好则已,用不好伤人害已。
2、能不排序则不排序,除了order by,注意一些隐含的操作也会有排序,比如UNION,DISTINCT操作
3、尽量少用子查询改用多表联接,因为子查询最终优化器也是转换成多表联接,当语句很复杂的时候,优化器不一定能转换对
4、必要时使用Hints干扰执行计划,优化器不是万能的,很多时候误判
5、合理使用动态绑定,语句共享,减少SQL语句的硬解析次数,尤其是OLTP系统,数据仓库系统后台ETL计算有循环语句执行需考虑
6、多层嵌套,考虑使用中间表或临时表做转储
7、数据量大考虑建立表分区、索引分区,减少数据检索范
8、物化视图的使用,query rewrite特性激动人心
9、在资源充足的情况下充分使用并行,比较常用的场景比如:大索引的创建、大查询、大批量的DML