真是一波未平,一波又起,问题又来了!

tjxray 2011-09-20 02:49:54
SELECT COUNT(1) FROM ENT_WSZZ.ENTITY_LINK WHERE stabh='R1103071129082504560109' AND stbbh='D1103041658171501040645';
stabh和stbbh都建了索引。可是好像有时stabh用不了,下面是执行计划


| Id | Operation | Name | Rows | Bytes
|Cost (%CPU)| Time | Pstart| Pstop |

--------------------------------------------------------------------------------

-----------------------------------------

| 0 | SELECT STATEMENT | | 1 | 49
| 6 (0)| 00:00:01 | | |

| 1 | SORT AGGREGATE | | 1 | 49
| | | | |

|* 2 | TABLE ACCESS BY GLOBAL INDEX ROWID| ENTITY_LINK | 1 | 49
| 6 (0)| 00:00:01 | ROWID | ROWID |

|* 3 | INDEX RANGE SCAN | ENTITY_LINK_STBBH | 3 |
| 4 (0)| 00:00:01 | | |
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjxray 2011-09-23
  • 打赏
  • 举报
回复
额 最近忙翻了 没回复大家对不起。这个问题其实是我犯傻了,不好意思说啊,其实是and后面条件直接查询为无记录,前面的条件自然不查了,好像是这样吧。
咖啡 2011-09-20
  • 打赏
  • 举报
回复
建了索引,不等于在查询的时候一定会用到索引,如果全表扫描的代价小于根据索引查询,oracle会选择全表扫描。

你查询的结果在整个数据集中所占比例超过5%,索引就有可能不会使用
yixilan 2011-09-20
  • 打赏
  • 举报
回复
楼主,表里满足这个条件的数据有多少:
stabh='R1103071129082504560109' AND stbbh='D1103041658171501040645';
yrg5101 2011-09-20
  • 打赏
  • 举报
回复
看看索引值 是不是 有的为null
anny120 2011-09-20
  • 打赏
  • 举报
回复
索引的主导列是不是没有值

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧