12
返回列表 发新帖
楼主: zlxzm

这个语句好怪,请高手帮忙看看

[复制链接]
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期: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:142013年新春福章
日期:2013-02-25 14:51:24
11#
发表于 2005-10-28 10:42 | 只看该作者
try
SELECT /*+no_index(fw_khhfdb INX_FW_KHHFDB_FWDWID ) */COUNT (*)
FROM fw_khhfdb
WHERE hfrq >= TO_DATE ('2005-10-01', 'yyyy-MM-dd')
AND hfrq <= TO_DATE ('2005-10-13', 'yyyy-MM-dd')
AND (fwdwid =559 or fwdwid = 1119)


or

SELECT /*+no_index(fw_khhfdb INX_FW_KHHFDB_FWRQ ) */COUNT (*)
FROM fw_khhfdb
WHERE hfrq >= TO_DATE ('2005-10-01', 'yyyy-MM-dd')
AND hfrq <= TO_DATE ('2005-10-13', 'yyyy-MM-dd')
AND (fwdwid =559 or fwdwid = 1119)

使用道具 举报

回复
论坛徽章:
16
ITPUB元老
日期:2006-12-29 17:11:00秀才
日期:2015-12-25 15:31:102015年新春福章
日期:2015-03-06 11:57:31沸羊羊
日期:2015-03-04 14:43:432012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010新春纪念徽章
日期:2010-03-01 11:21:02祖国60周年纪念徽章
日期:2009-10-09 08:28:002009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
12#
发表于 2005-10-28 11:15 | 只看该作者
SELECT COUNT (*)
FROM fw_khhfdb
WHERE hfrq >= TO_DATE ('2005-10-01', 'yyyy-MM-dd')
AND hfrq <= TO_DATE ('2005-10-13', 'yyyy-MM-dd')
AND fwdwid =559
union all
SELECT COUNT (*)
FROM fw_khhfdb
WHERE hfrq >= TO_DATE ('2005-10-01', 'yyyy-MM-dd')
AND hfrq <= TO_DATE ('2005-10-13', 'yyyy-MM-dd')
AND
fwdwid = 1119

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2005-10-28 11:20 | 只看该作者

Re: 原因是前几天,对表和索引进行了一次分析

最初由 zlxzm 发布
[B]这个语句其实没什么大问题,我发现,原因是前几天,对表和索引进行了一次分析,得到统计信息,这些信息让oracle改变了执行计划,不是改善,反而改差了,今天中午,删掉统计信息后,一执行马上得到结果。真想不到啊。 [/B]


谢谢大家的回复,这个语句目前运行良好,执行计划中已经使用了索引。看来,解决性能问题,实际的效果是最有说服力的,理论和实际不一定完全吻合,毕竟机器的智能还没有达到较高层次。

使用道具 举报

回复
论坛徽章:
2
14#
发表于 2005-10-28 11:30 | 只看该作者
哦!t

使用道具 举报

回复
论坛徽章:
28
授权会员
日期:2005-10-30 17:05:33咸鸭蛋
日期:2013-05-27 08:42:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-03-17 17:46:33美羊羊
日期:2015-03-22 20:53:37喜羊羊
日期:2015-06-24 21:04:21妮可·罗宾
日期:2017-01-03 13:18:20
15#
发表于 2005-10-28 16:54 | 只看该作者
最初由 rollingpig 发布
[B]try
SELECT /*+no_index(fw_khhfdb INX_FW_KHHFDB_FWDWID ) */COUNT (*)
FROM fw_khhfdb
WHERE hfrq >= TO_DATE ('2005-10-01', 'yyyy-MM-dd')
AND hfrq <= TO_DATE ('2005-10-13', 'yyyy-MM-dd')
AND (fwdwid =559 or fwdwid = 1119)


or

SELECT /*+no_index(fw_khhfdb INX_FW_KHHFDB_FWRQ ) */COUNT (*)
FROM fw_khhfdb
WHERE hfrq >= TO_DATE ('2005-10-01', 'yyyy-MM-dd')
AND hfrq <= TO_DATE ('2005-10-13', 'yyyy-MM-dd')
AND (fwdwid =559 or fwdwid = 1119) [/B]

=========================
rollingping is right.
try rollingping method.
according the good explain plan,  you didn't need to use the index fwdwid.

使用道具 举报

回复

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

本版积分规则 发表回复

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