是什么影响了数据库索引选型?
按照B-Tree的界说,可知检索一次最多必要会见h(B-Tree的高度)个节点。数据库体系的计划者奇妙操作了磁盘预读道理,将一个节点的巨细设为便是一个页,这样每个节点只必要一次I/O就可以完全载入。可是逻辑上存储在一个页里并不代表物理上也存储在一个页里,为了到达这个目标,每次新建节点时,直接申请一个页的空间,这样就担保一个节点物理上也存储在一个页里,加之计较机存储分派都是按页对齐的,就实现了一个节点只需一次I/O。 B-Tree中一次检索最多必要h-1次I/O,由于根节点会常驻内存。伟大度为O(logdN)。一样平常现实应用中,出度d长短常大的数字,凡是高出100,因此h很是小(凡是不高出3)。以是B-Tree作为索引布局服从长短常高的。这也是为什么数据库不选用红黑树作为索引(数据布局)的缘故起因,一是由于红黑树的高度h要大的多;二是红黑树节点在物理上也许是单独存储的,无法操作局部性道理。伟大度为O(h),服从明明比B-Tree差的多。 B+Tree说明: 上B+Tree更得当索引。究其缘故起因,一是由于B+Tree内节点去掉了data域,因此可以拥有更大的出度,拥有更好的机能;二是由于全部叶子节点形成有序链表,便于范畴查询;全部的查找最终城市到叶子节点,从而担保了查询机能的不变。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |