Heim >Datenbank >MySQL-Tutorial >Oracle B树索引简介(B-Tree Index)

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 16:47:001436Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn