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

关于oracle索引的问题
各位大虾,我有几个关于索引的问题请大家指教一下:
1、索引的定义。索引就是类似于书籍目录作用、对数据库表中一个或多个列的值进行排序的数据(结构),其作用主要是为了改善查询性能,不知道理解得对不对?
2、索引分为B-树索引和位图索引,其中B-树、位图指的就是实现索引的数据结构?
3、B-树索引分为:根节点、分支节点和叶子节点三层结构。这个层次结构是语义上的,还是实际上索引的实现就是这三层结构,我的意思是分支节点会不会有多级(比如:分支节点的下级节点又是一个分支节点?),这样的话整个索引结构就>3层了?
4、索引各节点的内容我参看了资料http://space.itpub.net/9842/viewspace-312607,其中关于节点内容的描述如有不对觐请提出,非常感谢!
5、根据http://space.itpub.net/9842/viewspace-312607中的描述,实际索引的实现是不是应该就是图中的根节点块、分支节点块和叶子节点块,这三层结构,而叶子节点与行数相等,一一对应,不知道理解得对不对?而叶子节点和分支节点数量的对应关系是怎么样的?
6、在http://space.itpub.net/14075938/viewspace-509801中关于B树节点的描述图中,右侧的分支节点块有两个条目,不过下面有三个节点,是不是画错了?根据前面资料的介绍,分支节点与叶子节点块应该是一一对应的啊?

非常感谢大家!

------解决方案--------------------
1,2正确
3.4.5.6 讨论是的索引的结构,看起来楼主好像绕进去了。
B树索引,B指balance,平衡树. 
楼主回忆下大学时的数据结构,平衡树的构建,再结合oracle, 保准就理解了




------解决方案--------------------
1. 对
2. 对
3. 语义上的,实际上索引可能不止3层,B树的树深很大程度上决定了索引是否是高效的
4. 还没看
5. 不对
6. 没来得及看