我在哪里可以找到关于哪些数据库在其索引实现中使用B+Trees而不是B树的信息?
甲骨文似乎正在使用B+Trees。尽管他们没有在他们的文档中描述它,但他们的graphics似乎指出实际上正在使用B+Trees。
发布于 2010-06-04 23:00:18
维基百科列出了支持B+树的a number of databases。
但是请注意,数据库完全可以支持多种类型的索引
发布于 2010-06-04 22:57:48
对于SQL Server,信息在此处:http://msdn.microsoft.com/en-us/library/ms177443.aspx
在SQL Server中,索引被组织为B树。索引B树中的每一页都称为索引节点。B树的顶部节点称为根节点。索引中最底层的节点称为叶节点。根节点和叶节点之间的任何索引级别都统称为中间级别。在聚集索引中,叶节点包含基础表的数据页。根节点和中间级别节点包含包含索引行的索引页。每个索引行都包含一个键值和一个指针,该指针指向B树中的中级页,或者指向索引的叶级中的数据行。索引的每一级中的页都链接在一个双向链表中。
发布于 2010-06-04 23:13:10
Oracle的默认索引是B*索引。( B*索引是B+索引的“任何”变体。)Oracle在其一些DBA和基础文档中提到了B*。您还可以创建使用集群索引的集群。您可以在数据仓库或OLAP数据库中创建位图索引。位图索引在OLTP数据库中的性能非常差,尽管如果表很少更新,位图索引可能工作得很好。
出于性能原因,我确信所有为OLTP设计的数据库都使用B*树作为它们的主索引。例如,Teradata是为数据仓库而设计的,并使用基于散列的索引。
https://stackoverflow.com/questions/2975262
复制相似问题