数据表的非唯一索引使用的问题

在“ realkid4”的博客上看到一篇文章《由于版本升级引发的SQL语句故障(续)》在自己的数据库上进行了一些测试,发现了一些问题,不是说 realkid4”文章的问题,而是ORACLE数据库的一些问题,也有可能是我的数据库设置的问题,但到现在还没有找到原因: 先描述一下问题的现像,一个数据库表,里面有6万多条数据,建的有主键,login_id有一个非空,非唯一的数据库索引,进行SELECT login_id from table order by login_id,按说这样的操作会直接利用索引的排序功能,不会再排序了,但执行计划里不是这样显示的,我重建索引,重新分析索引,重新分析表,这样都不行,后来 create table tablename as select 重建一张表,重建主键,重建索引就好使了,可能是个个例吧。
原来表结构:
 
原来表的索引:
 

原表的执行计划:
 
执行计划显示还要再进行排序,<sort order by>


重新建表,建索引后表的执行计划:
 
显示直接利表的索引的排序功能,不再另行排序

到现在也没有搞清楚具体是什么原因,原来的索引有问题的话,索引已经删除重建过,重新分析过,还是不行!

转自:http://www.dba365.net/forum.php?mod=viewthread&tid=126&extra=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值