加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:17:05 所属栏目:百科 来源:网络整理
导读:14.读书笔记收获不止Oracle之 索引 1. B树索引 索引和表一样,都是逻辑体系结构中的段的一种。当建一个T表,就产生一个T表的表SEGMENT。当在T表的某些列上建索引IDX_T,就产生一个IDX_T的索引SEGMENT。 索引建在表的具体列上,存在目的就是让表的查询更快,

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读