2012年9月28日

Oracle的索引类型总结

摘要: 1)b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。每当你发布基本的没有经过进 一步修改的CREATE INDEX语句时,就是在创建b-tree索引。这里不打算对b-tree索引进行更多深入的探讨,这些用户都可以自己了解。基本上这些索引存储你创建的 索引所在的列值以及用来查找自身行的指向实际数据表的指针。记住,这也就意味着要进行多路查询,其中一个查询各个节点和索引的叶节点,然后才是表的行自 身。这就是为什么Oracle的优化器在某种情况下会选择执行全表扫描而不执行索引查找的原因了,因为全表扫描执行起来实际上可能会更快一些. 阅读全文

posted @ 2012-09-28 13:14 要么牛逼,要么滚蛋 阅读(13387) 评论(0) 推荐(1) 编辑

在线重定义表的测试和问题 <转>

摘要: 在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24 系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量 DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的 同时允许DML操作。1、在线重定义表具有以下功能:(1)修改表的存储参数;(2)可以将表转移到其他表空间;(3)增加并行查询选项;(4)增加或删除分区;(5)重建表以减少碎片;(6)将堆表改为索引组织表或相反的操 阅读全文

posted @ 2012-09-28 13:13 要么牛逼,要么滚蛋 阅读(336) 评论(0) 推荐(0) 编辑

oracle死锁原因分析 <转>

摘要: 死锁的原因1。模拟死锁1。1。主表-- Create tablecreate table WDZ1(WDZ1ID NUMBER not null,MEMO VARCHAR2(20));alter table WDZ1add constraint XXXXXX primary key (WDZ1ID);1。2。从表(没有外健的索引)-- Create tablecreate table WDZ2(WDZ2ID NUMBER not null,WDZ1ID NUMBER,MEMO VARCHAR2(20));-- Create/Recreate primary, unique and foreig 阅读全文

posted @ 2012-09-28 13:12 要么牛逼,要么滚蛋 阅读(203) 评论(0) 推荐(0) 编辑

bitmap索引的深入研究 <转>

摘要: 位图(bitmap)索引是另外一种索引类型,它的组织形式与B树索引相同,也是一棵平衡树。与B树索引的区别在于叶子节点里存放索引条目的方式不同。从前面我们知道,B树索引的叶子节点里,对于表里的每个数据行,如果被索引列的值不为空的,则会为该记录行在叶子节点里维护一个对应的索引条目。而位图索引则不是这样,其叶子节点里存放的索引条目如下图所示。http://space.itpub.net/attachments/2008/06/9842_200806101730271.jpg假设某个表T里所有的记录在列C1上只具有三个值:01、02和03。在表T的C1列上创建位图索引以后,则叶子节点的内容如图9-14 阅读全文

posted @ 2012-09-28 13:08 要么牛逼,要么滚蛋 阅读(322) 评论(0) 推荐(0) 编辑

导航