一.SQL 编写注意事项
1.1 查看SQL
对于生产环境上的SQL,可以从AWR 或者 Statspack 报告中获取相关的SQL 信息。
这部分参考:
Oracle AWR 介绍
http://blog.csdn.net/tianlesoftware/article/details/4682300
statspack安装使用 和report 分析
http://blog.csdn.net/tianlesoftware/article/details/4682329
查看SQL 的性能怎么样,最直接的工具就是通过执行计划,通过执行计划可以看到SQL 的执行路径,逻辑读,物理读等信息,可以这些信息,可以帮助我们判断SQL 是否还有优化的余地。
1.2 SQL 编写的具体注意事项
这部分工作是基本功。 在SQL 编写过程中, 避免一些低效的写法,能将SQL的效率提高几倍。 如:
to_char(created,'yyyy') = '2011'
trunc(created,'y') = to_date('01-jan-2011','dd-mon-yyyy')
与使用TRUNC 相比,使用TO_CHAR 所用的CPU 时间与前者相差一个数量级(即相差12倍)。因为TO_CHAR 必须把日期转换为一个串,这要使用一个更大的代码路径,并利用当前的所有NLS来完成这个工作。然后必须执行一个串与串的比较。另一方面,TRUNC 只需把后5 个字节设置为1.然后将两个7 字节的二进制数进行比较。因此,如果只是要截断一个DATE 列,你将应该避免使用TO_CHAR。
之前从网上下载了一篇文章sql调优的PPT,链接如下:www.cuug.com
阅读(1160) | 评论(0) | 转发(0) |