背景:

按照《Oracle Concept》的结构一起了解Oracle数据库,这是学习Oracle从入门到精通的基础。

前言《Introduction to Oracle Database》的历史文章

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

第二章《Tables and Table Clusters》 历史文章

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

第三章《Indexes and Index-Organized Tables》历史文章:

本文主题:第三章《Indexes and Index-Organized Tables》 - Overview of Indexes。

单表位图索引

如下示例展示了对表sh.customers的检索。这张表的一些列上很适合创建位图索引。

SQL> SELECT cust_id, cust_last_name, cust_marital_status, cust_gender2  FROM   sh.customers 3  WHERE  ROWNUM < 8 ORDER BY cust_id;CUST_ID CUST_LAST_ CUST_MAR C
---------- ---------- -------- -1 Kessel              M2 Koch                F3 Emmerson            M4 Hardy               M5 Gowen               M6 Charles    single   F7 Ingram     single   F7 rows selected.

cust_marital_status和cust_gender列的重复值很少,而cust_id和cust_last_name列的重复值很多。因此cust_marital_status和cust_gender列很适合创建位图索引。如果在其他列上创建位图索引,可能不会有作用。取而代之的是,在这些重复值很高的列上,创建一个唯一的B树索引,可能会更有利于数据的检索性能。

表3-2展示了cust_gender列的位图索引。他包含了两个独立的位图,每个位代表了一个性别。

Table 3-2 位图示例

Value Row 1 Row 2 Row 3 Row 4 Row 5 Row 6 Row 7

M

1

0

1

1

1

0

0

F

0

1

0

0

0

1

1

映射函数会将位图中的每个位转换成customers表的一个rowid。每个位的值依赖于表中相应行的取值。例如,M值的位图含有1作为第一个位,因为在customers表中的第一行性别是M。位图cust_gender='M'将用0作为第2、6和7行的位,因为这些行的值不是M。

注意:

不像B树索引,位图索引能包含那些完全是NULL空值的键。对空值索引对一些SQL语句来说可能会是有用的,例如使用COUNT聚合函数的检索。

一个调查顾客统计趋势的分析员可能会问,“有多少女性顾客是单身或者离异?”这个问题能用如下的SQL检索:

SELECT COUNT(*)
FROM   customers
WHERE  cust_gender = 'F'
AND    cust_marital_status IN ('single', 'divorced');

如同表3-3所示,位图索引能在结果集位图中对值是1的值进行统计来有效地处理这个查询。为了明确哪些顾客满足条件,Oracle会使用结果集位图来访问这张表。

表3-3,位图索引示例

Value Row 1 Row 2 Row 3 Row 4 Row 5 Row 6 Row 7

M

1

0

1

1

1

0

0

F

0

1

0

0

0

1

1

single

0

0

0

0

0

1

1

divorced

0

0

0

0

0

0

0

single or divorced, and F

0

0

0

0

0

1

1

位图索引能有效地合并WHERE条件中不同条件对应的索引。访问表之前,会过滤掉那些只满足部分条件,或者完全不满足条件的行。这个技术通常能显著提升响应时间,毕竟是通过位计算进行的,但是一定要注意位图索引的适用条件。

《Oracle Concept》第三章 - 12相关推荐

  1. 《Oracle Concept》第二章 - 19

    这是杂货铺的第459篇文章 背景: 按照<Oracle Conecpt>的结构一起了解Oracle数据库,这是学习Oracle从入门到精通的基础. 前言<Introduction t ...

  2. oracle 获取第三行,Oracle 11g 第三章知识点总结——单行函数

    Oracle 11g 第三章知识点总结--单行函数 知识点预览 单行函数 单行函数 1. SQL 函数 2.两种 SQL 函数 3.单行函数 a) 操作数句对象 b)接受函数返回一个结果 c)只对一行 ...

  3. 西安交大梁力上机实验第三章12,从0到180度每隔5度输出该角度的正弦值余弦值

    西安交大梁力上机实验第三章12 从0到180度每隔5度输出该角度的正弦值余弦值 ` #include<bits/stdc++.h> using namespace std; int mai ...

  4. ticktock卖给oracle,ticktock第三章怎么过 ticktock第三章玩家一通关攻略

    ticktock第三章怎么过?ticktock是一个冒险逃脱类手游,很多玩家都不知道在ticktock第三章中如何让玩家一成功脱险.下面就是优游网小编为大家带来的ticktock第三章玩家一通关攻略了 ...

  5. 11G Concept 第三章翻译 Indexes and Index-Organized Tables(索引和索引组织表)

    Indexes and Index-Organized Tables(索引及索引组织表) 本章讨论index(索引),它是schema object,它能加快访问行的速度 还讨论了index-orga ...

  6. Oracle数据库-第三章:单值函数

    函数分为: 1.单值函数 1.字符函数 2.日期函数 3.转换函数 4.数字函数 2.分组函数(后面的章节再做学习) 哑表dual dual是一个虚拟表,用来构成select的语法规则,oracle保 ...

  7. oracle siplugincol表,ORACLE 经常使用的命令工具-第三章:表

    第三章:表 T-P*sd:@1t0 1.create a table51Testing软件测试网 i6}2pdjT1Wf 51Testing软件测试网,UPta6i(W/L(w sql> cre ...

  8. oracle体系三大文件,oracle 体系_第三章控制文件

    第三章 控制文件 1.功能特点 记录数据库当前的物理状态 维护数据库的一致性,是一个二进制的小文件 在mount阶段被读取,记录rman备份的元数据 查看database控制文件的位置 Show pa ...

  9. 【书评:Oracle查询优化改写】第三章

    [书评:Oracle查询优化改写]第三章 BLOG文档结构图 一.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 隐含参数 _ ...

最新文章

  1. wsl(windows上运行linux)安装到非C盘解决方案
  2. 娱乐化手游营销模式探索
  3. BUUCTF 特殊的BASE64
  4. Eclipse中配置Tomcat虚拟路径
  5. Python之类的继承
  6. 使用蚂蚁借呗会影响房贷申请吗?
  7. 485转换器产品功能特点及技术参数介绍
  8. 高级程序员如何面对职场压力?(2)--受伤的总是我
  9. Kafka 命令行操作
  10. 台湾一公司因停电,让员工手写代码...
  11. 【转载】vim常用命令总结
  12. Linux运行多个openssl,linux – 使用多选项解释rsa的openssl速度输出
  13. 四叶草efi_Clover Configurator——四叶草配置引导工具
  14. IP Scanner Pro for Mac 4.05 局域网IP扫描工具
  15. 【一年总结】记我的大一生活
  16. html 登录页面模板
  17. 2019 计蒜之道 初赛 第一场 A-商汤的AI伴游小精灵
  18. 【计算机科学】【2017】无组织三维点云的边缘检测
  19. K均值(kmeans)分类
  20. 快乐总动员 幸福你我他——龙营华夏第五届届亲子运动会

热门文章

  1. 使用Proxmox搭建私有云平台
  2. mobel web 笔记
  3. RHEL下编译wireshark源码
  4. 从零开始的操作系统生活01-Hello World
  5. dropout keep_prob参数
  6. 爬虫 (二十一) 最完整的文件操作(值得收藏) (十二)
  7. 从0开始学Unity做SLG系列(GameFramework框架)
  8. 读东野圭吾《白夜行》有感
  9. Css图片批量下载小工具--saveimg1.5
  10. 2020年最新一二三线互联网公司出炉,附校招和社招薪资行情