查看: 2271|回复: 5

这个语句给提点优化建议吧

[复制链接]
论坛徽章:
15
数据库板块每日发贴之星
日期:2008-06-30 01:01:54奥运会纪念徽章:羽毛球
日期:2012-06-26 15:21:24ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26数据库板块每日发贴之星
日期:2011-07-15 01:01:01ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010年世界杯参赛球队:加纳
日期:2010-07-27 08:59:132010年世界杯参赛球队:智利
日期:2010-07-14 16:06:302010年世界杯参赛球队:斯洛伐克
日期:2010-07-10 02:35:492010年世界杯参赛球队:英格兰
日期:2010-07-09 18:54:212010年世界杯参赛球队:瑞士
日期:2010-01-22 13:33:24
发表于 2010-12-9 15:54 | 显示全部楼层 |阅读模式
SELECT b.pk_cargdoc,
       b.pk_invbasdoc,
       c.invcode,
       c.invname,
       nvl(b.al, 0) al,
       nvl(b.si, 0) si,
       nvl(b.fe, 0) fe,
       nvl(b.cu, 0) cu,
       nvl(b.ga, 0) ga,
       nvl(b.mg, 0) mg,
       nvl(b.zn, 0) zn,
       nvl(b.mn, 0) mn,
       nvl(b.other, 0) other,
       c.spec
  FROM ehzg_trans_enter a, ehzg_trans_enter_b b, ehzg_invbasdoc c
where a.pk_enter = b.pk_enter
   and b.pk_invbasdoc = c.pk_invbasdoc(+)
   and (a.billtype in ('LD18') AND nvl(a.dr, 0) = 0 AND nvl(b.dr, 0) = 0 AND
       nvl(c.dr, 0) = 0 AND meltcode = 'M101202-0232' AND bunch = '4')   
GROUP BY b.pk_cargdoc,
          b.pk_invbasdoc,
          c.invcode,
          c.invname,
          b.al,
          b.si,
          b.fe,
          b.cu,
          b.ga,
          b.mg,
          b.zn,
          b.mn,
          b.other,
          c.spec


ehzg_trans_enter_b  有80万条数据


c.jpg
论坛徽章:
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
发表于 2010-12-9 15:57 | 显示全部楼层
ehzg_trans_enter_b 表的索引好好看看,从执行计划上看,这表缺个选择性很高的索引,是不是 meltcode ='M101202-0232'

使用道具 举报

回复
论坛徽章:
15
数据库板块每日发贴之星
日期:2008-06-30 01:01:54奥运会纪念徽章:羽毛球
日期:2012-06-26 15:21:24ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26数据库板块每日发贴之星
日期:2011-07-15 01:01:01ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010年世界杯参赛球队:加纳
日期:2010-07-27 08:59:132010年世界杯参赛球队:智利
日期:2010-07-14 16:06:302010年世界杯参赛球队:斯洛伐克
日期:2010-07-10 02:35:492010年世界杯参赛球队:英格兰
日期:2010-07-09 18:54:212010年世界杯参赛球队:瑞士
日期:2010-01-22 13:33:24
 楼主| 发表于 2010-12-9 16:32 | 显示全部楼层
原帖由 棉花糖ONE 于 2010-12-9 15:57 发表
ehzg_trans_enter_b 表的索引好好看看,从执行计划上看,这表缺个选择性很高的索引,是不是 meltcode ='M101202-0232'



谢谢,建立索引后,可以了。

b.pk_enter   和 b.pk_invbasdoc 上建索引,在什么情况下会有作用?

使用道具 举报

回复
论坛徽章:
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
发表于 2010-12-9 16:36 | 显示全部楼层
这语句里不是已经起作用了??

使用道具 举报

回复
论坛徽章:
3
ITPUB8周年纪念徽章
日期:2009-10-09 16:30:262011新春纪念徽章
日期:2011-01-04 10:38:212011新春纪念徽章
日期:2011-02-24 10:56:39
发表于 2010-12-9 17:26 | 显示全部楼层
期待,对了 你是怎么看出meltcode ='M101202-0232' 需要做索引呢?猜的吗?

使用道具 举报

回复
论坛徽章:
15
数据库板块每日发贴之星
日期:2008-06-30 01:01:54奥运会纪念徽章:羽毛球
日期:2012-06-26 15:21:24ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26数据库板块每日发贴之星
日期:2011-07-15 01:01:01ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010年世界杯参赛球队:加纳
日期:2010-07-27 08:59:132010年世界杯参赛球队:智利
日期:2010-07-14 16:06:302010年世界杯参赛球队:斯洛伐克
日期:2010-07-10 02:35:492010年世界杯参赛球队:英格兰
日期:2010-07-09 18:54:212010年世界杯参赛球队:瑞士
日期:2010-01-22 13:33:24
 楼主| 发表于 2010-12-10 09:20 | 显示全部楼层
原帖由 棉花糖ONE 于 2010-12-9 16:36 发表
这语句里不是已经起作用了??




照你的方法,完全可以。


这个在帮我看看吧。

http://www.itpub.net/thread-1376712-1-1.html

使用道具 举报

回复

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

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年6月4日~6日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


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