Oracle中为number类型字段建立索引的失效问题

发布于 2022-09-12 02:12:26 字数 497 浏览 35 评论 0

各位大神,请教一个Oracle11g中为number类型字段建立索引,当过滤条件使用的值不同,是否走索引的结果就不同的问题。

背景:
我在Oracle11g中建了一张测试表tb_stu,表中有varchar2l类型的name、address等字段,其中最重要的是有个age字段是number类型的,并且只为这个age字段建立了索引:create index "INDEX_STU_AGE" ON "STU" ("AGE");并且手动插入了20万的测试数据,age的值都不为空

疑问:
我执行以下sql查看执行计划时却出现了这样的情况
ora1.png

ora2.png

从以上两图可以看到当age=101时,查询走了索引;当age=1时却不走索引,为什么呢?(数据库中age=101和age=1的记录都为0条)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文