一般观点认为,Bitmap 索引更适合具有较低不重复(distinct)值的列——如性别、状态和关系。然而,这个假设并不完全。实际中,Bitmap 索引对系统有个建议,数据不会被很多并发系统频繁更新(不希望数据被系统频繁更新)。事实上,我想说,一个具有 100% 唯一值(unique values)列(该列可以作为主键)上的 Bitmap 索引具有与 B-tree 索引同样的效率。

本文,我将提供一些例子和执行计划,这些例子有两种索引类型,以及低基数列和高基数列。这些例子将帮助 DBA 理解 Bitmap 索引的使用并不是基数依赖,而是应用依赖。

另外,本文是基于一篇 2005 年的英文文章,表格数据是原文的,除此之外,是自己在本机测试的结果。

有意思的是,英文表格中的逻辑 IO 和物理 IO 数据。逻辑 IO 数据与本文测试结果一致,而物理 IO 基本都不一样,英文中大都不为 0,而在测试我的中,几乎都为 0。我的理解是,尽管一百万的数据,但其实总体量很小,而且跟硬件发展有也有很大关系。

相关文章:

  • 2021-06-04
  • 2021-06-08
  • 2021-09-02
  • 2021-09-19
  • 2021-12-25
  • 2021-10-30
  • 2021-12-23
  • 2021-11-24
猜你喜欢
  • 2021-12-06
  • 2021-09-03
  • 2021-10-26
  • 2022-02-24
  • 2021-08-31
  • 2021-06-04
相关资源
相似解决方案