b-tree索引会比bitmap索引效率低吗?

[复制链接]
查看11 | 回复9 | 2013-3-27 11:17:11 | 显示全部楼层 |阅读模式
在一个列的值只有很少的几个值的情况下,比如说只有1-10这几个值
我只知道用bitmap索引会节约存储空间
如果不考虑空间问题的话,用b-tree索引在查询速度上是不是也不如bitmap索引?
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
那不用count和sum这类行聚合函数时效率是差不多的了?
从第二行开始都看不懂>_<
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
如果这个表平凡的改变 建议不要使用BIT_MAP这样影响你的并发,BIT_MAP所以会更新的时候锁住所有这个值相关的行。
如果是不经常改动,可以使用BIT_MAP 索引,
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
BIT_MAP 适用于选择率低的表,但是在这种情况下你觉得是否全表扫描更合适?除非你9999行是1,1行是2 然后你是WHERE **=2
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
bitmap 在频繁更改的表中会导致更新阻塞更新,对于几乎静态的表来说,还是很不错的。
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
一般而言,btree适合oltp,bitmap适合olap
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
谢谢各位的回复
我回去学一下什么是oltp
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
这个问题问的有问题.首先,两种索引适合于不同的场合.其次.bitmap index和B*tree index的结构有区别.最后 索引都是提高访问效率的 使用妥当都能提高效率
oltp:在线业务系统或者实时交易系统,也就是数据库的访问和更新同时并举 .B*Tree Index 适合于这类
olap:分析系统或者决策系统这类的业务为主 ,一般以数据读取为主.非常少的数据更新.Bitmap Index 适合这类
回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
原帖由 viadeazhu 于 2010-2-8 22:26 发表
一般而言,btree适合oltp,bitmap适合olap



回复

使用道具 举报

千问 | 2013-3-27 11:17:11 | 显示全部楼层
效率如何定义,怎么测量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行