Oracle在性能调优中提供了丰富的工具和报表支持,如何从众多指标获取有价值的调优信息则需要开发测试人员具有一定的基础和经验。本文主要对近几年碰到频率较高的几类性能问题进行经验总结,帮助开发、测试人员在调优过程中少走弯路,尽快定位、解决性能问题。
除去硬件故障和产品本身bug外,本文分为配置类,sql效率类、应用程序逻辑三大类进行归纳介绍。
1.配置类
1.1绑定变量
在联机交易系统中,对于频繁执行的SQL语句,如果所查数据分布较均匀、分区较均衡,建议使用绑定变量代替常量,以避免多次重复硬解析(Hard Parse),节省时间、资源成本。
反例:
select * from user where userid=1;
select * from user where userid=2;
正例:
b1=1;
select * from user where userid= :b1;
b1=2;
select * from user where userid= :b1;
硬解析指标参考AWR报告中Load Profile-->Hard Parse/Sec(参考值:< 2 or 10),笔者一般会在大于1时用以下脚本查找可能