查看: 3949|回复: 16

关于性能优化的问题(疑惑)

[复制链接]
论坛徽章:
3
会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:00
发表于 2009-7-3 15:34 | 显示全部楼层 |阅读模式
1、win2000server+oracle9
2、客户反映工单传递慢,也抓住了问题sql,看了一下语句的执行计划,执行了analyze table xxx compute statistics;后问题解决
   但发现执行计划没有丝毫改变,逻辑读也差不多,只是物理读由4000左右降到200左右。
3、一直以为执行analyze table xxx compute statistics后,系统根据最新的信息,会改变选择最优的sql语句执行计划,从而提高性能,
   怎么执行计划没变,性能却提高了呢??
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2009-7-3 15:44 | 显示全部楼层
物理读少了,当然速度快了,应该是你分析数据的时候,oracle把磁盘的数据读到了cache里,这时候,业务执行的时候大部分的数据都从缓存里得到,所以应该减少逻辑读,物理读减少治标不治本,下次出现物理读4000的时候你还是慢

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2009-7-3 15:49 | 显示全部楼层
原帖由 棉花糖ONE 于 2009-7-3 15:44 发表
物理读少了,当然速度快了,应该是你分析数据的时候,oracle把磁盘的数据读到了cache里,这时候,业务执行的时候大部分的数据都从缓存里得到,所以应该减少逻辑读,物理读减少治标不治本,下次出现物理读4000的时候你还是慢


我觉得应该是改变执行计划,执行计划调优了,才可能彻底地减少逻辑读和物理读.只不过大部分人都是通过逻辑读的多少来判断执行计划的改变:
是变好了,还是变差了?

使用道具 举报

回复
论坛徽章:
3
会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:00
 楼主| 发表于 2009-7-3 15:57 | 显示全部楼层
1、analyze table xxx compute statistics语句难道还把表里的数据读入cache里??,以前一直以为是把表的统计数据放到user_tables里,
从而选择最优执行计划。还会把表里的数据读入cache里??
2、但从实际看,确实过一段时间(一两天),又会慢起来
3、也知道应该改变执行计划,只是开发厂家的程序运行好几年了,应用没法改了呀

使用道具 举报

回复
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2009-7-3 16:00 | 显示全部楼层

回复 #3 ZALBB 的帖子

我不知道他的执行计划变没变,楼主说没变,所以我只能从执行计划没变的情况去考虑,而且楼主也说逻辑读没变

使用道具 举报

回复
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2009-7-3 16:00 | 显示全部楼层

回复 #4 zy_ly 的帖子

不读表的数据怎么收集统计信息呢,而收集统计信息的时候读表不是direct path read,所以肯定得经过db cache

使用道具 举报

回复
论坛徽章:
3
会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:00
 楼主| 发表于 2009-7-3 16:08 | 显示全部楼层
1、执行计划肯定没变,我在执行前后进行了仔细的比较
2、逻辑读变化很小,在一个数量级上
3、统计信息当然要读表,也会经过db cache,但应该仅仅是行数、链接情况等统计数据,不应是读块的具体数据吧?,而执行sql应用
   是要读相应条件的块数据的呀

使用道具 举报

回复
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2009-7-3 17:03 | 显示全部楼层

回复 #7 zy_ly 的帖子

不读取块,怎么知道有多少行啊,你trace下收集统计信息的过程就知道了,收集统计信息就是读取表做汇总

使用道具 举报

回复
论坛徽章:
188
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
发表于 2009-7-3 17:22 | 显示全部楼层
估计执行计划变了。

使用道具 举报

回复
论坛徽章:
3
会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442009日食纪念
日期:2009-07-22 09:30:00
 楼主| 发表于 2009-7-3 17:32 | 显示全部楼层
1、执行计划绝对没变化
2、理解错我的意思了,块是要读的,但一定要读块里每一条记录的内容吗?,不能从块头知道行数吗?,说实话,这里的概念我很模糊,但总觉得没必要把每一个记录的内容都读到buffer里,否则要占用很大空间,效率很低呀

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表