日期:2014-05-17  浏览次数:20847 次

oracle 索引
问大家一个问题哈,为某一张表的某一列建立一个索引,是不是查询的时候就先按照这一列的数据排序,然后再按照表的其他列从前向后查询啊????????

------解决方案--------------------
索引是什么?索引就相当于一本书的目录啊,目录是干什么的?目录是缩小查找范围啊。


没有索引的时候,你查一条记录怎么查?从头查到尾。

有了索引的话,直接定位到一个比较小的范围,再查找啊。所以效率会提高

简单的说,就是 索引文件会给字段的每一个不同值分门别类,就好像字典的目录一样,首字母A的在哪,首字母B的在哪

索引文件中的是有顺序的
------解决方案--------------------
探讨
比如我有一张表,student,有a,b,c,d,e,f这么几列
对b建立索引:create index aindex on student(b);
那么当我用select * from student的时候,内部是怎样处理的?


事实上我也不知道怎么表达,我只知道这个可以用目录来比喻,可是具体是怎样运行的,我还是不明白,对某一个列建立索引,那么我查询的时候是怎样提高速度的?是怎样缩小……

------解决方案--------------------
探讨
比如我有一张表,student,有a,b,c,d,e,f这么几列
对b建立索引:create index aindex on student(b);
那么当我用select * from student的时候,内部是怎样处理的?


事实上我也不知道怎么表达,我只知道这个可以用目录来比喻,可是具体是怎样运行的,我还是不明白,对某一个列建立索引,那么我查询的时候是怎样提高速度的?是怎样缩小……

------解决方案--------------------
索引 不使用查询这个字段 并不能看出效果,但是使用这个字段的时候又很多情况并不走索引的比如like %...%