对SQL的学习是永无止境的。只有精通SQL语言的人才有可能写出高效的Oracle 数据库语句。
----Jared Still
一般情况下,在项目实施后期会邀请经验丰富的性能优化人员,对数据库、应用系统以及每个功能模块进行一次全面的调优,为生产系统上线做准备。对于已经上线的系统,在出现性能问题时,也需要对一些功能模块进行必要的优化。
客户化程序是进行系统优化的重点,这部分内容也是优化工作中工作量最大的一部分。在一般情况下主要是对数据库的参数调整和客户化程序SQL语句的优化。
系统优化是 DBA工作中很重要的一部分,也是对 DBA要求最高的一部分。‘优化工作,只有做到更好,没有最好’。 系统优化的过程是复杂的,要从存储设备、主机、数据库、应用系统、网络以及客户端等多层次入手。
从以往的经历来看,SQL的优化往往效果是最易体现的;优化成本也是比较低,难度也是最高的。
因此,编写高性能的SQL尤为重要;
怎样编写高性能的SQL呢。原则是什么;
高效SQL的标准:
● 节省资源: CPU 、内存 、I/O(访问的数据块少),排序
● 模块化
● 短小(不是尽量简单)
● Cost相对低
● 不产生死锁
按照以上原则编写SQL,可以解决90%以上的SQL性能问题;也基本达到了以下原则:
1 去掉了不必要的大型表的全表扫描
2 缓存了小型表的全表数据
3 优化了索引的使用
4 优化了表之间的连接
2016年5月13日 上海
本文分享自微信公众号 - Oracle优化大师,如有侵权,请联系 service001@enmotech.com 删除。