查看: 3046|回复: 9

求助一条sql的优化

[复制链接]
linjia828 该用户已被删除
发表于 2010-12-14 18:22 | 显示全部楼层 |阅读模式
awr.rar (59.65 KB, 下载次数: 12)
linjia828 该用户已被删除
 楼主| 发表于 2010-12-14 19:56 | 显示全部楼层
将原来一个索引拆成2个索引后,cost降下来了。

create index IDX_SJSC_JXBID on T_XKGL_ZFXXKSJSC (JXBID, XN, XQ, SFKX, ZYDM, KCDLDM, KCDM)
现在改成:
create index IDX_SJSC on T_XKGL_ZFXXKSJSC (XN, XQ, SFKX, ZYDM, KCDLDM, KCDM)
create index IDX_SJSC_JXBID on T_XKGL_ZFXXKSJSC (JXBID)
这样两条,然后重新分析了下表,cost一下子降低下来了
现在cost只有176了

使用道具 举报

回复
论坛徽章:
10000
地主之星
日期:2015-07-20 17:15:36地主之星
日期:2015-09-01 14:14:25地主之星
日期:2015-09-01 17:59:09地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58地主之星
日期:2015-08-31 16:17:58
发表于 2010-12-14 20:00 | 显示全部楼层
lz,到开发版也去发一贴
看错了,不好意思,原来有视图
"AND ((SC.ZYDM = 'jww7724240' AND SC.NJ = '2010'))"
"WHERE TO_NUMBER(KSJC) >= 0
                   AND TO_NUMBER(JSJC) <= 15"
这些感觉写法都不怎么好

[ 本帖最后由 jboracle1981 于 2010-12-14 20:07 编辑 ]

使用道具 举报

回复
论坛徽章:
13
2010广州亚运会纪念徽章:轮滑
日期:2010-09-03 12:44:53马上有房
日期:2014-04-04 13:51:34马上加薪
日期:2014-04-04 13:35:40优秀写手
日期:2014-03-14 06:00:13夏利
日期:2013-08-05 18:32:18复活蛋
日期:2013-06-25 17:22:592013年新春福章
日期:2013-02-25 14:51:24蛋疼蛋
日期:2013-01-08 18:08:502011新春纪念徽章
日期:2011-02-18 11:43:33生肖徽章2007版:兔
日期:2011-01-20 12:58:49
发表于 2010-12-14 20:21 | 显示全部楼层
执行计划有什么变化?
   LEFT JOIN V_PKGL_JXBPKST ST ON ST.JXBID = SC.JXBID
这行注释掉执行速度怎样?

使用道具 举报

回复
linjia828 该用户已被删除
 楼主| 发表于 2010-12-14 22:57 | 显示全部楼层
执行计划的cost是降下来了,但是我晚上的ARW日志显示:CPU负载还是很重,热点争用更加明显。
图三的第一个SQL就是上面的SQL

33.jpg


44.jpg


55.jpg

[ 本帖最后由 linjia828 于 2010-12-14 22:58 编辑 ]

使用道具 举报

回复
linjia828 该用户已被删除
 楼主| 发表于 2010-12-14 23:00 | 显示全部楼层
从执行计划上看来sql优化效果是明显的,但是从AWR上看来为什么优化后CPU的负载,热点争用的现象怎么更严重了??

两份AWR报告附在第一楼附件。

使用道具 举报

回复
论坛徽章:
41
2010广州亚运会纪念徽章:橄榄球
日期:2011-01-11 06:17:26红孩儿
日期:2012-12-19 11:07:13玉石琵琶
日期:2012-12-19 11:07:13九尾狐狸
日期:2012-12-19 11:07:13嫦娥
日期:2012-12-19 11:07:13玉兔
日期:2012-12-19 11:07:13紫蜘蛛
日期:2012-12-19 11:07:13蓝色妖姬
日期:2012-12-19 11:07:13紫蛋头
日期:2013-01-23 09:04:49SQL大赛参与纪念
日期:2013-12-06 14:03:45
发表于 2010-12-15 02:45 | 显示全部楼层
You may want to create appropiate INDEXES on the materialized view V_PKGL_JXBPKST .

使用道具 举报

回复
linjia828 该用户已被删除
 楼主| 发表于 2010-12-15 09:21 | 显示全部楼层
have created:

create index IDX_PKGL on V_PKGL_JXBPKST (KCDM, KCXZ, XQDM)
  tablespace TS_JW_D
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
create index IDX_PKGL_JXBID on V_PKGL_JXBPKST (JXBID)
  tablespace TS_JW_D
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

使用道具 举报

回复
论坛徽章:
14
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52沸羊羊
日期:2015-03-04 14:43:43马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11福特
日期:2013-10-14 21:18:25凯迪拉克
日期:2013-09-23 23:01:572013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412011新春纪念徽章
日期:2011-02-18 11:43:33
发表于 2010-12-15 09:36 | 显示全部楼层
要看SQL執行時實際消耗的邏輯讀與物理讀,COST不准

樓主這種SQL可以從最內層開始分析,逐步嵌套,同時去掉一下細枝末節的東西(比如case)

這樣就能找到瓶頸在哪裡

使用道具 举报

回复
linjia828 该用户已被删除
 楼主| 发表于 2010-12-15 12:41 | 显示全部楼层

使用道具 举报

回复

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

本版积分规则 发表回复

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