码迷,mamicode.com
首页 > 数据库 > 详细

oracle 索引

时间:2014-12-21 21:58:42      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

索引一个可以瞬间提升SQL的查询效率几倍甚至是几十倍,但有时却又会成为SQL的包袱,让人痛苦不堪。作为一个初学者,现在的我更多的是看到它给我带来的便利。

由衷的说一句,索引真的是一个好东西,此处为自己学习和使用中的一些心得体会,随着深入了解,会继续改善

 

索引相对于数据表而言,以我目前的理解就是:

 

在oracle的另一个地方只对该表分配了一个专门的数据块来存放这些索引,当用索引项进行查询时,oracle首先会到索引块中读取出相应的数据项,然后根据这个数据项再到oracle原表的相应位置读出数据来,通过这种方法定点的读取数据,提高搜索效率。

 

但是索引也有一些弊端,因为它是重新分配在一个区域的,当数据增加的时候,相应的索引也会跟着增加,但是分配的数据模块位置可能和以前的数据块不在一起了,这样读起来的时候,就增加了一些时间。所以在建索引时要慎重,并不是建的越多越好,如果数据量比较大的时候可以定期的更新索引,最为妥当的办法是,删除掉该索引,新建一个索引,这样效率就提高了。

 

索引除了单一的索引外还有复合索引,在建复合索引的时候要注意第一项的选择,第一项也被称为是引导项,尽量选择数据种类比较少的项作为引导项,这样可以提高索引的效率。原因如下:

复合索引,首先根据引导项把索引分为几个模块,然后根据后面的项逐次进行查询。因此要注意引导项的选择。

 

(待续)

 

 

 

 

                                                                                                                                                                                                                                                                                                                          

 

oracle 索引

标签:

原文地址:http://www.cnblogs.com/mozizhu/p/4172358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!