查看: 2729|回复: 3

[性能调整] Oracle语句性能优化问题,求大神指点

[复制链接]
论坛徽章:
0
发表于 2010-12-20 16:27 | 显示全部楼层 |阅读模式
有如下语句,红色部分不加,则查询速度很快,加了则需要50s左右,表中REPORTDATE ,YWORDER,UPLOADTIME均建立了单体索引,scantype 是否建立索引都速度一样。
求各位兄弟分析原因。本人对于性能优化是个初学者,求喷
select *  from t_yw_rep_jskc_detail T
   where  REPORTDATE between   to_date('2010-12-19','yyyy-mm-dd')  and  to_date('2010-12-19','yyyy-mm-dd') and
          scantype in ('AF','DF')  AND
          exists (    SELECT  1 FROM t_yw_rep_jskc_detail C
                          WHERE  C.REPORTDATE = T.Reportdate and  C.scantype ='AR'
                                   and T.YWORDER=C.YWORDER   
                                   AND T.UPLOADTIME<=C.UPLOADTIME
                                    and   t.site=C.site
                                 )


表结构如下:
create table T_YW_REP_JSKC_DETAIL
(
  SYSID            CHAR(2),
  REPORTDATE       DATE not null,
  GUEST            VARCHAR2(40),
  GUEST_NAME       VARCHAR2(60),
  GUEST_SIMNAME    VARCHAR2(30),
  PCS              NUMBER default 0 not null,
  ORDERTYPE        VARCHAR2(40) not null,
  GUEST_FNUMBER    VARCHAR2(30),
  NEWSITE          VARCHAR2(40),
  NEWSITE_FNUMBER  VARCHAR2(40),
  NEWSITE_NAME     VARCHAR2(60),
  YWORDER          VARCHAR2(40),
  TRANSORDER       VARCHAR2(40),
  ORDERTIME        DATE,
  ORDERNUMBER      VARCHAR2(50),
  SENDSITE         VARCHAR2(40) not null,
  SENDSITE_NAME    VARCHAR2(30),
  GOODS            VARCHAR2(400),
  LARGESS          VARCHAR2(200),
  WEIGHT           NUMBER(18,6) default 0 not null,
  FACTOR           VARCHAR2(40) default '无',
  TERMINI          VARCHAR2(40) default '无',
  FACTOR_NAME      VARCHAR2(100),
  TERMINI_NAME     VARCHAR2(30),
  ORDERTYPE_NAME   VARCHAR2(40) not null,
  SENDSTATE        VARCHAR2(50),
  SENDSTATE_NAME   VARCHAR2(50),
  BACKSTATE        VARCHAR2(40),
  BACKSTATE_NAME   VARCHAR2(40),
  PAYMETHOD        VARCHAR2(40) not null,
  PAYMETHOD_NAME   VARCHAR2(40) not null,
  AGENCYFUND       NUMBER(18,6) default 0 not null,
  SUPPORTVALUE     NUMBER(18,6) default 0 not null,
  RECIPIENTS       VARCHAR2(50),
  RECADDRESS       VARCHAR2(100) not null,
  RECREQUEST       VARCHAR2(400),
  RECTEL           VARCHAR2(100),
  YWORDERSYSNUMBER VARCHAR2(40) not null,
  REMARKS          VARCHAR2(400),
  PACKAGESORT      VARCHAR2(40),
  PACKAGESORT_NAME VARCHAR2(40),
  SITE             VARCHAR2(40),
  SITE_NAME        VARCHAR2(30),
  SCANTYPE         VARCHAR2(40),
  SCANTIME         DATE,
  UPLOADTIME       DATE,
  SYSNUMBER        VARCHAR2(40) not null,
  SCANTYPE_NAME    VARCHAR2(40)
)
tablespace ABC_YW_REPORT
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 16K
    minextents 1
    maxextents unlimited
  );
认证徽章
论坛徽章:
9
ITPUB社区OCM联盟徽章
日期:2013-03-27 11:17:11奥运纪念徽章
日期:2013-06-18 09:13:52ITPUB社区千里马徽章
日期:2013-08-22 09:58:03大众
日期:2013-08-30 14:51:33路虎
日期:2013-12-01 18:25:42
发表于 2010-12-20 16:32 | 显示全部楼层
查看执行计划的 变化。。
C.scantype  应该选择率比较低哈,就 几个固定的值,加不加索引都是全表扫描。

使用道具 举报

回复
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
发表于 2010-12-20 16:37 | 显示全部楼层
统计信息是否准确?贴出执行计划

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2010-12-20 16:44 | 显示全部楼层
嗯,统计信息不准确,受教了。已经搞定

使用道具 举报

回复

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

本版积分规则 发表回复

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