加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – B-Tree vs Bitmap数据库索引

发布时间:2020-12-12 16:31:17 所属栏目:MsSql教程 来源:网络整理
导读:有人可以解释位图和b树索引之间的不同.你会在什么情况下使用这两个?每个的优点/缺点是什么? 解决方法 来自维基百科: B-Trees和 bitmap indexes.用例: B-Trees是在数据库中执行CREATE INDEX …时使用的典型索引类型: 当您选择一小部分索引数据(通常最多5
有人可以解释位图和b树索引之间的不同.你会在什么情况下使用这两个?每个的优点/缺点是什么?

解决方法

来自维基百科: B-Trees和 bitmap indexes.用例:

> B-Trees是在数据库中执行CREATE INDEX …时使用的典型索引类型:

>当您选择一小部分索引数据(通常最多5%-10%)时,它们非常快速,
>当你有很多不同的索引值时,他们的工作更好.
>可以组合几个B-Tree索引,但更简单的方法往往更有效率.
>当索引数据有少量不同的值时,或当您想要获取数据的大型(> 10%)子集)时,它们无效.
>每个B-Tree索引在索引表上插入/更新值时会施加一点小小的惩罚.如果在繁忙的表中有很多索引,这可能是一个问题.

此特性使B-Tree索引对于在OLTP应用程序中加快搜索速度非常有用,当您一次使用非常小的数据集时,大多数查询将按ID过滤,并且您希望良好的并发性能.
>位图索引是一个更专业的索引变体:

他们将索引值作为位图编码,因此非常节省空间.
>如果没有明显的索引值,他们往往会更好地工作
> DB优化器可以非常容易地组合几个位图索引,这样可以有效地执行查询中的复杂过滤器.
>插入/更新值时它们效率很低.

位图索引主要用于数据仓库应用程序,其中数据库只读ETL进程,您通常需要针对star schema执行复杂查询,其中位图索引可以根据维度表中的条件加快过滤,通常不会有太多不同的值.

作为一个非常简短的摘要:使用B-Tree索引(大多数数据库中的“默认”索引),除非您是数据仓库开发人员,并且知道您将受益于位图索引.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读