楼主: alexanderr

[讨论] 一条语句不走索引!

[复制链接]
招聘 : 数据库管理员
论坛徽章:
9
生肖徽章2007版:牛
日期:2009-03-10 21:26:492010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:葡萄牙
日期:2010-02-22 14:35:242010新春纪念徽章
日期:2010-03-01 11:19:092010广州亚运会纪念徽章:射击
日期:2010-09-08 23:42:12ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212010广州亚运会纪念徽章:拳击
日期:2010-10-30 00:46:582011新春纪念徽章
日期:2011-02-18 11:43:322011新春纪念徽章
日期:2011-03-01 08:49:39
11#
发表于 2010-9-3 10:36 | 只看该作者
1/4 的数据量,走FTS的可能性非常大,顺便查一查 in_station_time 列上索引的 NUM_ROWS,Cluster_Factor,LEAF_BLOCKS 这三个参数值。

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44咸鸭蛋
日期:2011-06-10 09:50:32ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26双黄蛋
日期:2012-03-30 10:02:542013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:58:18
12#
发表于 2010-9-3 22:38 | 只看该作者
是不是in_station_time 列上有空值

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
13#
 楼主| 发表于 2010-9-5 14:19 | 只看该作者

回复 #12 sz_lee820 的帖子

这个列上没有空值

就算有空值,条件里面不带where in_station_time is null 或者 in_station_time is not null
也不应该跳开索引啊!

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
14#
 楼主| 发表于 2010-9-5 14:22 | 只看该作者

回复 #8 Yong Huang 的帖子

thanks for Yong Huang 's advice,
this table is not a remote table,it's my local database object.

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
15#
 楼主| 发表于 2010-9-5 14:38 | 只看该作者

回复 #9 sundog315 的帖子

用hint强制走索引,cost还好。

但是现在就是不想这样做,想看看原因到底在哪里

考虑做个10053看下

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
16#
 楼主| 发表于 2010-9-5 14:42 | 只看该作者

回复 #10 maolinxie 的帖子

CBO
1/4的数据走的是TFS

我测试把条件加了一个rownum<= 20000
执行计划显示走索引了。

Plan
SELECT STATEMENT  ALL_ROWS
  Cost : 11,917 Bytes : 5,260,000 Cardinality : 20,000       
----------------------------------------------------------------------------
        3 COUNT STOPKEY  
                    ROWNUM<=20000               
                 2 TABLE ACCESS BY INDEX ROWID SFISM4.R_SN_DETAIL_T
                             Cost : 11,917 Bytes : 5,260,000 Cardinality : 20,000       
                1 INDEX RANGE SCAN SFISM4.R117_IN_STATION_TIME_1
                                   "IN_STATION_TIME"<=SYSDATE@!-30
                                   Cost : 58

使用道具 举报

回复
论坛徽章:
2
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
17#
 楼主| 发表于 2010-9-5 14:52 | 只看该作者

回复 #11 killkill_shadow 的帖子

clustering_factor       num_rows       leaf_blocks
---------------------      -----------------    --------------
7775560                    13574445        36015

这是查出来的值
请帮忙分析。谢谢

使用道具 举报

回复
论坛徽章:
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
18#
发表于 2010-9-6 08:41 | 只看该作者
原帖由 alexanderr 于 2010-9-5 14:42 发表
CBO
1/4的数据走的是TFS

我测试把条件加了一个rownum


这个没有什么意义啊。选择度高,自然会走索引

使用道具 举报

回复
论坛徽章:
27
数据库板块每日发贴之星
日期:2010-06-17 01:01:07迷宫蛋
日期:2011-07-07 15:25:46紫蛋头
日期:2011-08-10 10:31:56ITPUB十周年纪念徽章
日期:2011-09-27 16:33:28ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222012新春纪念徽章
日期:2012-02-07 09:59:35ITPUB知识分享者
日期:2012-02-20 17:49:25铁扇公主
日期:2012-02-21 15:02:40ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48
19#
发表于 2010-9-6 22:42 | 只看该作者
clustering_factor   的数值比较大,影响cbo 选择 走全表扫描。

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2010-9-7 14:07 | 只看该作者
如果想让它走索引的话,可以将clustering_factor的值设置的小一些,用dbms_stats可以设置。
或者更改参数optimizer_index_cost_adj,将参数值调小,不过这个参数是对全局的,可能会引起其他语句执行计划的变更,
如果你选择的行数是1/4的话,建议你更改之后各执行一遍,观察走索引和全表的时间,数据量太多了,可能走索引耗费的时间更长。

使用道具 举报

回复

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

本版积分规则 发表回复

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