首页 > 数据库 > mysql教程 > Oracle B树索引简介(B-Tree Index)

Oracle B树索引简介(B-Tree Index)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 16:47:00
原创
1438 人浏览过

B树索引,就是我们最常用的普通索引(传统索引)。就去叶子节点左边第二个框去找11的值,于是找到两个11的值和响应的rowid。

B树索引,就是我们最常用的普通索引(传统索引)。

简单创建方式为:create index test_id_idx on test(id)。

下面用图解释下B-Tree索引:



①:从上往下,第一层为根节点,第二层为分支节点,,第三层为叶子节点(包含了列值和rowid)。

rowid 参考

②:当查找的时候,是这么查找的,比如要找到值11,就从跟节点开始,11在0-50中,指向分支节点最左边第一个框,就去分支节点最左边第一框中去找,发现11在11-19中指向叶子节点的左边第二个框,就去叶子节点左边第二个框去找11的值,于是找到两个11的值和响应的rowid。如果只查找索引列的值,就不用根据rowid去表中查找了,如果还要查找值11这行,其他列的值就得根据rowid去表里查找。(除了在同一聚簇中可能不唯一外,每条记录的rowid是唯一的)。
③:叶子节点还有个双向链表(如图)。在通过索引进行范围扫描时会起作用,比如要查找值10-19,如果当查找到值10的时候,不就会再从跟节点开始查找其他的值,而是根据本叶子节点链表的指向去查找其他的值。

linux

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
mysql - 数据库存储结构及索引问题
来自于 1970-01-01 08:00:00
0
0
0
微信调起支付无效
来自于 1970-01-01 08:00:00
0
0
0
mysql - myisAm为什不支持行锁?
来自于 1970-01-01 08:00:00
0
0
0
如何合并数组并保留键?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板