Oracle数据库的位图索引原理与应用
2021-11-03李爱武



DOI:10.19850/j.cnki.2096-4706.2021.08.045
摘 要:指出了执行查询优化时,效果最显著的方法是使用B树索引,给出了使用B树索引的限制条件,分析了位图索引不同于B树索引的主要特点,以实例验证了位图索引存储的内容,得出了位图索引的结构。设计简洁的实验步骤,验证了使用位图索引对查询速度的提高幅度,以实例给出了位图索引所占空间的大小,最后给出了不适合使用位图索引的情况。
关键词:Oracle数据库;位图索引;查询优化
中图分类号:TP311.13 文献标识码:A 文章编号:2096-4706(2021)08-0159-03
Principle and Application of Bitmap Index in Oracle Database
LI Aiwu
(Guangdong Vocational College of Post and Telecom,Guangzhou 510630,China)
Abstract:It is pointed out that the most effective way to perform query optimization is to use B-tree index,and the restrictions of using B-tree index are given. The main features of bitmap index that are different from B-tree index are analyzed,and the storage content of bitmap indexes is verified by examples,and obtains the structure of bitmap index. A concise experimental procedure is designed to verify the magnitude of improvement in query speed by using bitmap index. The size of space occupied by bitmap index is given with examples,and finally,the cases in which the use of bitmap indexes is not suitable are given.
Keywords:Oracle database;bitmap index;query optimization
0 引 言
使用B树索引要求索引列值的重复率要很低,但在实际应用中,列值重复率高的情况是很常见的,如性别字段只有“男”“女”两个列值,日期的月份部分只有12个整数值等,季度部分只有4个值等。在查询中,这些字段一般用作计数条件,以下为一些典型的查询:
(1)查询员工表中的男性员工数量。
(2)2005年入职的员工总数。
(3)5号部门的员工总数。
对于以上这些查询,在相关字段上创建B树索引,查询效率不会得到显著提高,位图索引恰恰适合这类要求,在处理相关统计操作时,Oracle可以通过扫描位图索引,并执行位运算,从而可以快速定位满足条件的记录。
在当前主流数据库产品中,只有Oracle支持位图索引。文中实验使用的软件版本为Oracle Database 12c企业版。
1 B树索引的结构及适用场景
B树索引在逻辑上可以看作一颗倒立的树,这棵树分为若干层,顶层是树根,底层是树叶,中部是树枝。除树根由一个节点构成外,其他每层都由一个或多个节点构成,每个节点是一个数据块。……
