ITPub博客

首页 > 数据库 > 数据库开发技术 > Bitmap Indexes (220)

Bitmap Indexes (220)

原创 数据库开发技术 作者:tsinglee 时间:2007-11-19 11:19:11 0 删除 编辑

The purpose of an index is to provide pointers to the rows in a table that contain a
given key value. In a regular index, this is achieved by storing a list of rowids for each
key corresponding to the rows with that key value. Oracle stores each key value
repeatedly with each stored rowid. In a bitmap index, a bitmap for each key value is
used instead of a list of rowids.

Each bit in the bitmap corresponds to a possible rowid. If the bit is set, then it means
that the row with the corresponding rowid contains the key value. A mapping
function converts the bit position to an actual rowid, so the bitmap index provides the
same functionality as a regular index even though it uses a different representation
internally. If the number of different key values is small, then bitmap indexes are very
space efficient.

Bitmap indexing efficiently merges indexes that correspond to several conditions in a
WHERE clause. Rows that satisfy some, but not all, conditions are filtered out before the
table itself is accessed. This improves response time, often dramatically.

位图索引
1. 位图索引只需存储每个键值的位图来代替一组ROWID
2. Oracle 通过一个映射函数将位信息转化为实际的 ROWID 。如果索引键不同的值数量较少时,
位图索引的存储效率相当高
3. 如果在 WHERE 子句内引用的多个列上都建有位图索引 ,在访问表之前不满足全部条件的行可以被预先过滤掉,
从而极大地提高查询的响应时间

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-982964/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    740
  • 访问量
    1899907