Oracle中使用两种类型的索引。它们是B树和位图。这些索引用于性能调整,实际上使查找记录和恢复记录的速度非常快。索引函数为出现在索引列中的所有值创建一个条目。 B树索引是OLTP系统使用的类型,默认情况下主要实现。另一方面,位图是一种高度压缩的索引格式,在大多数情况下,它用于数据仓库中。

通常,位图可以被称为索引方法,尽管这种方法可以寻求性能优势和存储节省。如前所述,它的使用主要是在数据仓库环境中。其原因是因为环境中的数据更新不那么频繁,并且临时查询更多。在位图的实现中,低基数数据是首选。对于诸如性别之类的选项较少的列项,位图是首选,它们仅具有2个值并且是首选。仓库中的静态数据也是使用Bitmap可以很好地实现的数据的良好特性。位图的另一个特征是位流,其中每个位都实现为表的单行中的列值。

另一方面,B树索引是在包含非常唯一值的列上创建的索引。 B树索引的条目是有序的,其中每个条目都有一个搜索键值和一个指向给定行和值的指针。如果服务器找到与所讨论的值相关的匹配约束,则部署指针以获取行。

两者之间的区别之一是B-Tree中的重复性低且协同性高,而Bitmap中则相反。位图具有很高的重复实例和较低的热情。可以看到,位图索引优于B树索引,因为它的表具有数百万行,因为指定的列具有低基数。因此,与B树索引相比,位图中的索引提供了更好的性能。

当收集少量数据集时,B树似乎非常快,大多数情况下,数据不应超过数据库大小的10%。当有许多不同的值被索引时,这两个一起工作。 B树也很独特,可以将多个索引合并以生成一个非常有效的程序。另一方面,当索引值较低以实现最大效率时,位图往往效果最佳。

在寻找超过子集数据10%的较大数据子集时,B树效果不佳。位图面临着提供高质量结果的挑战,因为在几乎没有不同值的情况下,位图效果更好。

如果使用B树在繁忙的表中有许多索引,则可能会由于插入索引数据时或需要插入和更新索引数据时施加的少量罚款而出现问题。对于位图而言,这不是问题,因为无论大小如何,它在插入和更新值时都非常有效。

总结

  1. B树和位图是Oracle中使用的两种索引类型;
  2. 位图是一种索引方法,可提供性能优势并节省存储空间;
  3. B树索引是在包含非常唯一值的列上创建的索引;
  4. B树在许多不同的索引值下效果最佳;
  5. 位图最适合许多不同的索引值;
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:B树和位图
本文链接:https://www.vsdiffer.com/vs/b-tree-vs-bitmap.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。