查看: 7715|回复: 12

【讨论】分区表建立本地前缀索引后,不走索引

[复制链接]
认证徽章
论坛徽章:
3
优秀写手
日期:2014-03-11 06:00:14喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
发表于 2015-2-1 16:06 | 显示全部楼层 |阅读模式
有一张交易流水表(数据总量1200W),为范围分区表(12个月,12个分区,每个分区大概100完数据),记录2014年交易流水数据,建表语句如下:
create table par_table
(
       id number(20) PRIMARY KEY,  --交易主键
       sales varchar2(200),               --交易额
       djs_name varchar2(200),        --地级市名称
       dt date                                --时间
)
partition by range(dt)
(
          partition m1_2014 VALUES less than(to_date('2014-01-31','YYYY-MM-DD')),
          partition m2_2014 VALUES less than(to_date('2014-02-28','YYYY-MM-DD')),
          partition m3_2014 VALUES less than(to_date('2014-03-30','YYYY-MM-DD')),
          partition m4_2014 VALUES less than(to_date('2014-04-30','YYYY-MM-DD')),
          partition m5_2014 VALUES less than(to_date('2014-05-30','YYYY-MM-DD')),
          partition m6_2014 VALUES less than(to_date('2014-06-30','YYYY-MM-DD')),
          partition m7_2014 VALUES less than(to_date('2014-07-30','YYYY-MM-DD')),
          partition m8_2014 VALUES less than(to_date('2014-08-30','YYYY-MM-DD')),
          partition m9_2014 VALUES less than(to_date('2014-09-30','YYYY-MM-DD')),
          partition m10_2014 VALUES less than(to_date('2014-10-30','YYYY-MM-DD')),
          partition m11_2014 VALUES less than(to_date('2014-11-30','YYYY-MM-DD')),
          partition m12_2014 VALUES less than(to_date('2014-12-30','YYYY-MM-DD'))
)
为表的DT时间字段建立本地前缀索引,create index idx_dt on par_table(dt) local;
但是基于时间查询时,尽然不走索引,建完索引页进行了表单的统计分析
查询dt时间为2014-1-7日数据的交易流水数据(才1000多条),实际占m1_2014子分区100万很小的份额,但走子分区全表扫描,语句及执行计划如下
select sales,dt from par_table where dt=to_Date('2014-1-7','yyyy-mm-dd');

但是统计dt时间为2014-1-7日数据的条数,却走索引
select count(1) from par_table where dt=to_date('2014-1-7','yyyy-mm-dd');




求解答!
认证徽章
论坛徽章:
3
优秀写手
日期:2014-03-11 06:00:14喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
发表于 2015-2-1 16:19 | 显示全部楼层
本帖最后由 sr19830207 于 2015-2-1 16:20 编辑

上述语句的执行计划如下
1.
1.png
2.

2.png

使用道具 举报

回复
论坛徽章:
16
蛋疼蛋
日期:2012-04-27 23:09:45罗罗诺亚·索隆
日期:2016-11-04 21:04:09懒羊羊
日期:2015-06-23 09:05:532015年新春福章
日期:2015-04-01 14:21:232015年新春福章
日期:2015-03-06 11:58:39慢羊羊
日期:2015-03-04 14:53:33青年奥林匹克运动会-击剑
日期:2014-08-29 15:44:44马上加薪
日期:2014-02-18 16:48:492014年新春福章
日期:2014-02-18 16:48:49一汽
日期:2013-12-24 18:12:09
发表于 2015-2-1 20:04 | 显示全部楼层
实际占m1_2014子分区100万很小的份额,具体是多少?

使用道具 举报

回复
认证徽章
论坛徽章:
3
优秀写手
日期:2014-03-11 06:00:14喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
发表于 2015-2-1 21:03 | 显示全部楼层
sr19830207 发表于 2015-2-1 16:19
上述语句的执行计划如下
1.

只查询出了15条记录

使用道具 举报

回复
论坛徽章:
400
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2015-2-1 21:42 | 显示全部楼层
索引要回表,cbo觉得不划算

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2015-2-1 21:45 | 显示全部楼层
正常现象!

使用道具 举报

回复
认证徽章
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:43:09喜羊羊
日期:2015-05-18 16:24:25慢羊羊
日期:2015-06-12 13:08:22暖羊羊
日期:2015-07-02 16:06:20暖羊羊
日期:2015-07-06 16:28:55狮子座
日期:2015-07-29 17:14:43摩羯座
日期:2015-09-02 13:58:47白羊座
日期:2015-09-08 10:39:06天枰座
日期:2015-09-17 21:41:53摩羯座
日期:2015-10-29 21:07:02
发表于 2015-2-1 21:56 | 显示全部楼层
收集一下表的统计信息后再试试。

使用道具 举报

回复
论坛徽章:
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
发表于 2015-2-1 23:09 | 显示全部楼层
明显统计信息不准啊,100万的全扫瞄成本才400多,你怎么收集的?

使用道具 举报

回复
认证徽章
论坛徽章:
3
优秀写手
日期:2014-03-11 06:00:14喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
发表于 2015-2-2 08:51 | 显示全部楼层
dingjun123 发表于 2015-2-1 23:09
明显统计信息不准啊,100万的全扫瞄成本才400多,你怎么收集的?

已这种方式进行统计的:
Exec dbms_stats.gather_table_stats(‘用户名’,‘表名’)

使用道具 举报

回复
论坛徽章:
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
发表于 2015-2-2 09:11 | 显示全部楼层
exec DBMS_STATS.GATHER_TABLE_STATS(ownname=>'用户名',tabname=>'表名',estimate_percent=>30,no_invalidate=>false,cascade=>true,degree => 10);

使用道具 举报

回复

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

本版积分规则 发表回复

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