位图索引(位图索引适合建于怎样的列)
本篇文章给大家谈谈位图索引,以及位图索引适合建于怎样的列对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
oracle 位图索引的原理
1、语法
create bitmap index index_name on 表名(字段);
2、举个例子你就能明白了:
如有表 test(id,name,address)
数据
(1,张三,大连)
(2,李四,天津)
(3,王五,北京)
(4,赵六,大连)
....
类似这样的数据,如果查询的时候用到 ,因为数据库中有很多这样的数据,所以一般的索引起不到查询加速的作用,而建立位图索引后会产生如下位图效果:
假设有4条数据(就如上所示)
大连 天津 北京
1 0 0
0 1 0
0 0 1
1 0 0
这样当查询:
select * from 表 where address='大连' or address='北京';
的时候数据库很快就能根据 同行的 1和0 判断出那一条数据符合要求。
oracle中的位图索引的用处?
主要针对大量相同值的列而创建(例如存储选择题的答案,ABCD只有4个可能值,就可以考虑位图索引)
具体请参考以下文章.
Oracle数据库中的最常用的索引有哪些
1. b-tree索引
Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE
INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。
2. 位图索引(bitmap index)
位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。
3. 基于函数的索引
比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。
位图索引的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于位图索引适合建于怎样的列、位图索引的信息别忘了在本站进行查找喔。