代码之家  ›  专栏  ›  技术社区  ›  Pablo Santa Cruz

数据库和B+树索引

  •  0
  • Pablo Santa Cruz  · 技术社区  · 14 年前

    在哪里可以找到关于哪些数据库在B树上使用B+树来实现索引的信息?

    甲骨文似乎在使用B+树。虽然他们没有在文档中描述,但是他们 graphics 似乎是指实际上正在使用B+树。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Michael Madsen    14 年前

    维基百科列表 a number of databases 支持B+树。

    但是请注意,数据库完全可以支持多种索引

        2
  •  1
  •   SQLMenace    14 年前

    对于SQL Server,信息如下: http://msdn.microsoft.com/en-us/library/ms177443.aspx

    在SQL Server中,索引被组织为B树。索引B树中的每个页面都称为索引节点。B树的顶部节点称为根节点。索引中节点的底层称为叶节点。根节点和叶节点之间的任何索引级别统称为中间级别。在聚集索引中,叶节点包含基础表的数据页。根节点和中间级别节点包含包含索引行的索引页。每个索引行都包含一个键值和一个指向B树中中级页或索引叶级中数据行的指针。索引的每个级别中的页面都链接在一个双重链接列表中。

        3
  •  1
  •   redcayuga    14 年前

    Oracle的默认索引是B*索引。(A B*索引是B+索引的“任意”变体。)Oracle在其DBA和基础文档中提到了B*。您还可以创建使用集群索引的集群。您可以在数据仓库或OLAP数据库中创建位图索引。位图索引在OLTP数据库中的性能非常差,尽管如果很少更新表,它们可能工作正常。

    出于性能原因,我确信所有为OLTP设计的数据库都使用B*树作为它们的主要索引。例如,Teradata设计用于数据仓库,并使用基于哈希的索引。