14.读书笔记收获不止Oracle之 索引

来源:互联网 发布:淘宝换货售后卡怎么写 编辑:程序博客网 时间:2024/03/29 22:57

14.读书笔记收获不止Oracle之 索引

 

1.  B树索引

索引和表一样,都是逻辑体系结构中的段的一种。当建一个T表,就产生一个T表的表SEGMENT。当在T表的某些列上建索引IDX_T,就产生一个IDX_T的索引SEGMENT。

索引建在表的具体列上,存在目的就是让表的查询更快,效率更高。表记录丢失关乎生死,而索引丢失只需重建即可。

           索引是数据库学习中最实用的技术之一,深刻理解和掌握索引的知识,能在数据库相关工作中发挥巨大的作用。

索引结构如下图1

           叶子块 Leaf 存储了 keycolumn value(索引列具体值),以及能具体定位到数据块所在位置的rowid.

           Leaf叶子块主要存储了key column value( 索引列具体值)以及能具体定位到数据块所在位置的rowid.

 

2.  创建索引步骤

建索引先进行排序,这一步在内存中执行。然后排序后的列值和ROWID入块成索引,填满一块接一块,此时会出现他们的上层块来管理这些块。上层块管理超过上限后,又会出现上层块的上层块来管理。

 

3.  关于索引高度

最底层的叶子块indexblock装具体的数据,比较容易被填满。特别是对长度很长的列建索引时更是如此。一个500G的表,记录几百亿条,高度不过6层而已。

 

4.  索引存储列值

索引除了存储了索引列的具体内容,还包含了标记定位行数据在数据库中位置的ROWID。

 

5.  索引本身有序

索引在建的时候,对列进行了排序操作,索引是有序的。

 

 

 

阅读全文
0 0