查看: 2929|回复: 9

[性能调整] SQL优化,高手赐教,谢!

[复制链接]
论坛徽章:
2
2010广州亚运会纪念徽章:拳击
日期:2011-04-22 16:56:102011新春纪念徽章
日期:2011-05-20 16:27:45
发表于 2011-5-20 15:34 | 显示全部楼层 |阅读模式
select distinct ood.organization_code,
                msi.segment1,
                to_char(min(wd.scheduled_start_date), 'yyyy-mm-dd') scheduled_start_date,
                (case
                  when ool.schedule_ship_date > sysdate then
                   to_char(min(ool.schedule_ship_date), 'yyyy-mm-dd')
                  else
                   null
                end) schedule_ship_date,
                MIC.CATEGORY_CONCAT_SEGS category
  from Wip_Discrete_Jobs            wd,
       org_organization_definitions ood,
       oe_order_lines_all           ool,
       mtl_item_categories_v        mic,
       mtl_system_items_b           msi
where wd.organization_id = ood.organization_id
   and ood.set_of_books_id = 2
   and wd.primary_item_id = msi.inventory_item_id
   and msi.organization_id = MIC.organization_id
   and msi.inventory_item_id = MIC.inventory_item_id
   and MIC.CATEGORY_SET_NAME = 'WIP Categories'
   and wd.primary_item_id = ool.inventory_item_id
   and wd.scheduled_start_date >= to_date('2010-08-10', 'yyyy-mm-dd')
   and wd.scheduled_start_date <= to_date('2010-08-13', 'yyyy-mm-dd')
   and not exists
(select distinct wdj.primary_item_id
          from Wip_Discrete_Jobs wdj, org_organization_definitions ood
         where wdj.organization_id = ood.organization_id
           and ood.set_of_books_id = 2
           and wdj.primary_item_id = wd.primary_item_id
           and wdj.scheduled_start_date <
               to_date('2010-08-10', 'yyyy-mm-dd')
           and wdj.scheduled_start_date >=
               to_date('2010-05-12', 'yyyy-mm-dd'))
   and exists
(select distinct wdj.primary_item_id
          from Wip_Discrete_Jobs wdj, org_organization_definitions ood
         where wdj.organization_id = ood.organization_id
           and ood.set_of_books_id = 2
           and wdj.primary_item_id = wd.primary_item_id
           and wdj.scheduled_start_date <
               to_date('2010-05-12', 'yyyy-mm-dd'))
   and not exists
(select 1
          from qp_secu_list_headers_v qsl, qp_list_lines_v qll
         where qsl.LIST_HEADER_ID = qll.list_header_id
           and to_date('2010-08-10', 'yyyy-mm-dd') between
               qsl.start_date_active and qsl.end_date_active
           and qsl.ACTIVE_FLAG = 'Y'
           and qll.product_attr_value = wd.primary_item_id)
group by ood.organization_code,
          msi.segment1,
          ool.schedule_ship_date,
          MIC.CATEGORY_CONCAT_SEGS;

此sql运行时间过长,会报错:ORA-01652:unable to extend temp segment by 128 in tablespace TEMP
大家帮忙看看,感激不尽……
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08乌索普
日期:2019-02-14 23:54:04
发表于 2011-5-20 15:35 | 显示全部楼层
yun ~

1.数据库版本
2.执行计划
3.explain plan for 和 10046最好都有

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-5-20 15:38 | 显示全部楼层
啥都没有

如何做?

使用道具 举报

回复
论坛徽章:
6
ITPUB季度 技术新星
日期:2011-08-31 15:27:58ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:36咸鸭蛋
日期:2012-03-05 13:10:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00优秀写手
日期:2013-12-18 09:29:09
发表于 2011-5-20 15:41 | 显示全部楼层
无字天书

使用道具 举报

回复
论坛徽章:
2
2010广州亚运会纪念徽章:拳击
日期:2011-04-22 16:56:102011新春纪念徽章
日期:2011-05-20 16:27:45
 楼主| 发表于 2011-5-20 16:02 | 显示全部楼层
不好意思啊,oracle是10g的,执行计划见附件,SQL所用的表都是EBS标准表,谢谢各位了。

注:SQL意思是找出一些item,这些item最近三个月内没有开过工单,但是三个月之前有开过工单,并且这些item还没有维护单价和成本,我就是要找出这些item,提醒user维护成本和单价的。
1.JPG
2.JPG

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
发表于 2011-5-20 16:05 | 显示全部楼层
统计信息有问题吗?

使用道具 举报

回复
论坛徽章:
2
2010广州亚运会纪念徽章:拳击
日期:2011-04-22 16:56:102011新春纪念徽章
日期:2011-05-20 16:27:45
 楼主| 发表于 2011-5-20 16:12 | 显示全部楼层

回复 #6 dingjun123 的帖子

sql运行一段时间后报错: ORA-01652:unable to extend temp segment by 128 in tablespace TEMP
你说的统计信息是指?

使用道具 举报

回复
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08乌索普
日期:2019-02-14 23:54:04
发表于 2011-5-20 16:16 | 显示全部楼层
从执行计划上来看,不应该出现这样的问题,执行计划的信息来自于统计信息~ 所以怀疑你统计信息有问题,建议你对这个SQL应用的表和索引作DBMS_STATS分析

使用道具 举报

回复
论坛徽章:
2
2010广州亚运会纪念徽章:拳击
日期:2011-04-22 16:56:102011新春纪念徽章
日期:2011-05-20 16:27:45
 楼主| 发表于 2011-5-20 16:22 | 显示全部楼层
弱弱地问一下:如何作DBMS_STATS分析?

使用道具 举报

回复
论坛徽章:
120
现任管理团队成员
日期:2011-05-07 01:45:08乌索普
日期:2019-02-14 23:54:04
发表于 2011-5-20 16:29 | 显示全部楼层
http://blogold.chinaunix.net/u1/41992/showart_333775.html


PS dingjun123兔子~你怎么这么多蛋蛋! 怎么刷的?

使用道具 举报

回复

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

本版积分规则 发表回复

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号
  
快速回复 返回顶部 返回列表