
ORACLE索引研究
记录工作中对oracle数据库索引的研究与认识
ezbit
技术或有时,梦想却无时!
个人技术网站:<a href='http://www.ezbit.ren'>http://www.ezbit.ren</a>
展开
-
oracle中与索引相关的视图---all_indexes
ALL_INDEXES描述了与索引有关的信息,为了使部分字段的内容更准确,我们需要通过analyze或者dbms_stats包来收集与索引有关的统计信息(这部分字段标记为带*)。首先看一下官网给出的各个字段的解释:ColumnDatatypeNULLDescriptionOWNERVARCHAR2(30)NOT NULL原创 2013-12-16 18:53:11 · 4302 阅读 · 0 评论 -
oracle btree index 索引块结构初探
通过treedump查看索引结构语法格式:alter session set events 'immediate trace name treedump level index_object_id'SQL> create table t1(c1 varchar2(10));表已创建。SQL> create index i1 on t1(c1);索引已创建。SQL> sele原创 2013-12-13 13:21:20 · 2570 阅读 · 0 评论 -
Hakan factor
Hakan factorHakan factor 用来表示在表中任何一个数据块所包含的记录数量的上限。对于一个表来说,Hakan factor 受一下几方面的影响:表中列的数量列的数量类型和长度列是否具有非空约束在通常情况下,oracle认为每条记录最小占用11byte的存储空间,这是为了在发生行迁移的情况下,留出足够的空间保存行迁移信息(扩展rowid会占用10字节的空间)。原创 2013-12-11 19:36:48 · 1246 阅读 · 0 评论 -
位图索引的使用---星型转换
位图索引的一大优势就是可以进行and or等逻辑运算。星型转换的实现便是依赖了位图索引的这种特性。星型转换多用于数据仓库环境中,之所以称之为星型是因为其适用的模型通过图形展现出来像一个海星。这种模型多数是由一个或者多个事实表,多个维度表构成。事实表的数据量较大,而维度表的数据量较小而且往往存在严格的过滤条件,因此,理想的情况下,数据库应该首先方位维度表过滤掉大部分数据,然后关联查询事实表,从而原创 2013-12-09 23:08:38 · 2208 阅读 · 0 评论 -
index rebuild vs index coalesce vs index shrink
shrink can release space back to dba_free_space coalesce does not. that is the main thing here. but if you ask me, you want to coalesce - because that index will need that space again soon原创 2013-11-25 10:46:22 · 1962 阅读 · 0 评论 -
详解oracle bitmap位图索引
位图索引是oracle中非常重要的一种索引形式。本文通过总结有关位图索引的资料,尝试回答如下几个问题:1:什么是位图索引?2:位图索引适合什么场景,不适合什么场景?3:位图索引的性能如何?什么是位图索引?位图索引,顾名思义,与“位”有关。大家都知道,计算机中的所有信息最终都是通过“位bit”来运算的, 二进制位运算在计算机中是非常高效的。每一个二进制位都可以取值0或者1原创 2013-11-24 21:14:08 · 25026 阅读 · 3 评论 -
oracle索引重建到底会提高多少性能?
工作中往往会观察到索引重建带来的空间释放和应用性能提升。空间释放比较容易理解,也非常容易度量,那么索引重建到底会对应用的性能有多少影响那?首先我们会问:索引重建为什么会带来性能的提升?毫无疑问,这是因为索引重建后,与索引有关的io操作得到了降低。那么,索引io的降低在多大程度上影响了应用语句的执行效率?这恐怕需要具体问题具体分析了。首先,我们来看一下多数情况下,索引重建的效果如何SQL>原创 2013-11-22 13:51:35 · 4626 阅读 · 0 评论 -
细说ora-01450错误
ora-01450是索引维护中可能会出现的错误。首先通过oerr来看一下01450的相关信息:SQL> ho oerr ora 0145001450, 00000, "maximum key length (%s) exceeded"// *Cause:// *Action:呵呵,oracle竟然没有给出合理建议。但是从字面意义可以看出,01450是由于我们的关键字超出了某些限定值而引起原创 2013-11-15 11:43:17 · 7895 阅读 · 2 评论 -
细说ora-08104错误
在线重建索引 (alter index index_name rebuild online)虽然延长了索引重建的时间,却也赋予了我们在线重建索引,提高数据可用性的能力。如果在联机重建索引的过程中出现错误,如用户终止,网络中断等,那么当我们再次重建索引时,有可能会产生ORA-08104错误。这是由于先前的操作痕迹没有清除而造成的。在线重建索引的过程中,oracle数据库会修改数据字典表,并生成中原创 2013-11-21 16:01:05 · 3956 阅读 · 0 评论