视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
OracleB树索引简介(B-TreeIndex)
2020-11-09 12:44:44 责编:小采
文档


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的时候,不就会再从跟节点开始查找其他的值,而是根据本叶子节点链表的指向去查找其他的值。

下载本文
显示全文
专题