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

前端之家收集整理的这篇文章主要介绍了14.读书笔记收获不止Oracle之 索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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. 索引本身有序

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

原文链接:https://www.f2er.com/oracle/207076.html

猜你在找的Oracle相关文章