zoukankan      html  css  js  c++  java
  • oracle 索引

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

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

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

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

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

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

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

    (待续)

                                                                                                                                                                                                                                                                                                                              

    天地何其大,人生何其短。 不困于一时,不困于一世。 且恒且坚,且苦且乐,且行且看。
  • 相关阅读:
    HLG 1522 子序列的和【队列的应用】
    POJ 3273 Monthly Expense【二分】
    HDU 4004 The Frog's Games 【二分】
    POJ 2001 Shortest Prefixes【第一棵字典树】
    POJ 2823 Sliding Window【单调对列经典题目】
    HDU 1969 Pie 【二分】
    POJ 3125 Printer Queue【暴力模拟】
    POJ 3250 Bad Hair Day【单调栈】
    字典树【模板】
    验证码 Code
  • 原文地址:https://www.cnblogs.com/mozizhu/p/4172358.html
Copyright © 2011-2022 走看看