oracle 位图索引的创建,Oracle关于位图索引的创建与应用(2)

sp;                          1              1    ==> last row

8)位图索引和NULLs

---------------------

位图索引包含的行有NULL值,和其他类型的索引完全不相同。对null值索引有利于一些类型的SQL语句,如查询包含了聚合函数COUNT。

例1:

-------

SELECT COUNT(*) FROM EMP;

任何一个位图索引都可以用于该查询,因为表中所有行都被索引,包括那些NULL数据。如果null值未编入索引,优化器只有当,某个字段上有NOT NULL约束时,使用这个字段的索引。

例2:

-------

SELECT COUNT(*) FROM EMP WHERE COMM IS NULL;

该查询可以通过在COMM上建立一个位图索引来优化。

例3:

-------

SELECT COUNT(*) FROM CUSTOMER WHERE GENDER = 'M' AND STATE != 'CA';

该查询可以通过GENDER = 'M'的位图减去STATE = 'CA'的位图来得到结果。如果STATE字段包含NULL值(也就是说,该字段上没有NOT NULL约束),那么STATE = 'NULL'的位图也必须从该结果中减去。

9)表和视图

--------------------

通过TYPE='BITMAP'条件,可以在USER_INDEXES,ALL_INDEXES,DBA_INDEXES视图中查询到位图索引的信息。

10)执行计划上的标签

---------------------

参看:

Oracle8 Tuning Release 8.0

Oracle8i Tuning Release 8.1.5

Oracle9i Database Performance Tuning Guide and Reference Release 1 (9.0.1)

Oracle9i Database Performance Tuning Guide and Reference Release 2 (9.2)

Oracle Database Performance Tuning Guide and Reference 10gRelease 1 (10.1)

Oracle Database Performance Tuning Guide and Reference 10gRelease 2 (10.2)

Chapter Using EXPLAIN PLAN

11)使用位图索引的HINT(7.3 - 8.0 - 8.1 - 9.0 - 9.2 - 10.1 - 10.2)

-------------------------

INDEX

INDEX_COMBINE

12)初始化参数

-------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值