首页 > 编程知识 正文

bitmap位图索引(oracle位图索引)

时间:2023-05-05 10:55:22 阅读:123500 作者:3026

在本章中,您将学习oracle位图索引的基本原理和概念。 假设有以下表格。

如果使用普通查询:

select * fromtuserwheretsex=’男’;

数据库一行一行地去寻找性别为男性的数据。 如果数据很多,这个查询会很慢。 我该怎么办? 对于这种查询,位图索引是一种非常好的方法。

使用位图索引时,从性别方向看有两个向量。 男性向量为101,女性向量为010

婚姻方向有三个向量,已婚100,未婚010,离婚001

那么,我们将进行以下查询

select * fromtuserwheretsex=’男’and marital=’已婚’;

此时,用位图向量进行调查很简单,但是直接对男性和已婚的两组向量进行and操作,可以得到以下结果。

得到的结果为100,即第一批数据满足要求,非常快速地得到了结果。

从上边的分析可以看以下下的两种场合非常不适合使用位图索引:

1 .列中有很多特征值,如身份证号码等。 这样的数据列因人而异。 如果在这样的列中添加位图索引,则无法弥补损失。

2 .如果经常更新的列经常更新包含位图索引的列中的数据,则oracle必须经常维护位图索引,表很可能会被锁定并影响整个系统的性能。

如何创建位图索引

createbitmapindexindex _ nameontable _ name (column _ name;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。