千家信息网

Oracle性能优化-SQL优化(案例一)

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Oracle 性能优化 -SQL 优化 ( 案例一 )环境:OS:Red Hat Enterprise Linux AS release 4DB:Oracle 10.2.0.1.0问题现象:客户反馈E
千家信息网最后更新 2026年11月01日Oracle性能优化-SQL优化(案例一)

Oracle 性能优化 -SQL 优化 ( 案例一 )

环境:

OS:Red Hat Enterprise Linux AS release 4

DB:Oracle 10.2.0.1.0

问题现象:

客户反馈ERP 系统操作缓慢,服务器IO 负载较高;

问题原因:

(1) 个别 SQL 执行效率较低,由于 SQL 执行计划不合理,造成 SQL 执行过程中的逻辑读和物理读较多,导致服务器 IO 负载较高, ERP 运行缓慢;

(2) 收集统计信息的 JOB 执行时间为工作时间 9:13 ,和正常业务产生资源争用;

解决方案:

(1) 优化 SQL 执行效率,减少 SQL 执行过程中产生的逻辑读和物理读,降低服务器 IO 负载;

方法:

收集数据不均匀列checkman 和 senderman 的统计直方图;

(2) 建议将收集统计信息的 JOB 执行时间更改为非工作时间;

问题分析过程:

可以通过Oracle AWR 报告或者 iostat 命令查看 IO 负载较高:

查找IO 负载高的原因:

通过AWR 报告可以看到消耗资源过多的 SQL 主要来源于以下两个:

一:协同凭证操作对应的SQL

二:用于自动收集统计信息的JOB

DECLARE job BINARY_INTEGER := :job; next_date DATE := :mydate; broken BOOLEAN := FALSE; BEGIN ANALYZE_TB ; :mydate := next_date; IF broken THEN :b := 1; ELSE :b := 0; END IF; END

通过AWR 查看 SQL

通过PLSQL 查看 SQL

通过NMC 查看 SQL

SQL 优化:

通过绑定变量值以及SQL 执行计划分析 SQL 产生的执行计划不合理, pub_workflownote 表没有走索引,而是走全表扫描;

查看数据分布情况,发现senderman 和 checkman 列分布不均匀

对senderman 和 checkman 列收集统计直方图

再次查看SQL 执行计划,发现 pub_workflownote 表可以正常走索引

生成统计直方图后进行了第一次绑定变量窥探,将生成第一个带入参数值的正确执行计划;

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!


统计 时间 信息 服务器 直方图 过程 问题 服务 不合理 缓慢 原因 报告 效率 数据 物理 索引 资源 逻辑 分析 生成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 上海睿民互联网科技有限公司 互联网是不是新科技 科技企业和互联网企业 金融科技创新监管互联网金融 互联网科技的发展 互联网 科技创新 壕鑫互联网络科技 亿账通互联网科技 广州善班互联网科技 深圳艾佳互联网科技 亿人帮互联网科技 深圳国际航运科技和互联网 昭通互联网科技选哪家 花神(南京)互联网科技有限公司 西安小鹰速贷互联网科技有限公司 科技互联网的核心竞争力 伍佰万互联网科技怎么赚钱 米泉互联网科技专业怎么样 互联网科技博主张洲 深圳市人人互联网科技有限公司 云信互联网科技有限公司 互联网科技的 互联网教育科技公司vipkid 互联网企业和科技型企业 荆州市昕露互联网络科技有限公司 消费医药和互联网科技 中天科技中国工业互联网 互联网时代科技型公司的机会 银川新华互联网科技学校是国营吗
0