德必信生活网

您现在的位置是:首页 > 生活资讯 > 正文

生活资讯

位图索引(位图索引适合建于怎样的列)

阿信2023-03-10生活资讯71

本篇文章给大家谈谈位图索引,以及位图索引适合建于怎样的列对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

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. 基于函数的索引

比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。

位图索引的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于位图索引适合建于怎样的列、位图索引的信息别忘了在本站进行查找喔。