SQL Server和Oracle中的索引(四)

日期: 2008-08-04 作者:王铁民 来源:TechTarget中国 英文

降序索引


降序索引(descending index)是oracle 8i引入的,用以扩展B*树索引的功能,它允许在索引中以降序(从大到小的顺序)存储一列。在oracle8i及以上版本中,DESC关键字确实会改变创建和使用索引的的方式。


我们可以这样创建降序索引:






create INDEX IDX_jobs_title on hr.jobs (job_title DESC);
SET autotrace traceonly EXPLAIN;
select  * FROM  hr.jobs 
where job_title Between ’a’ AND ’ZZZZZZZZZZZ ’;

&#101xecution Plan
———————————————————-
   0      select STATEMENT Optimizer=CHOOSE (Cost=1 Card=1 Bytes=33)
   1    0   FILTER
   2    1     TABLE ACCESS (BY INDEX ROWID) OF ’JOBS’ (Cost=1 Card=1 B
          ytes=33)
   3    2       INDEX (RANGE SCAN) OF ’IDX_JOBS_TITLE’ (NON-UNIQUE) (C
          ost=2 Card=1)

SQL> select * from hr.jobs 
  2  where job_title between ’a’ and ’ZZZZZZZZZZZ ’;
&#101xecution Plan
———————————————————-
   0      select STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=33)
   1    0   FILTER
   2    1     TABLE ACCESS (FULL) OF ’JOBS’ (Cost=2 Card=1 Bytes=33)
SQL>   drop INDEX IDX_jobs_title ;
SQL>   create INDEX IDX_jobs_title on hr.jobs (job_title );
 
SQL> select * FROM hr.jobs 
  2  where job_title between ’a’ and ’ZZZZZZZZZZZ ’;
&#101xecution Plan
———————————————————-
   0      select STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=33)
   1    0   FILTER
   2    1     TABLE ACCESS (FULL) OF ’JOBS’ (Cost=2 Card=1 Bytes=33)
 


位图索引


位图索引(bitmap index)是从Oracle7.3 版本开始引入的。目前Oracle 企业版和个人版都支持位图索引,但标准版不支持。位图索引是为数据仓库/在线分析查询环境设计的,在此所有查询要求的数据在系统实现时根本不知道。位图索引特别不适用于OLTP 系统,如果系统中的数据会由多个并发会话频繁地更新,这种系统也不适用位图索引。


位图索引是这样一种结构,其中用一个索引键条目存储指向多行的指针;这与B*树结构不同,在B*树结构中,索引键和表中的行存在着对应关系。在位图索引中,可能只有很少的索引条目,每个索引条目指向多行。而在传统的B*树中,一个索引条目就指向一行。


B*树索引一般来讲应当是选择性的。与之相反,位图索引不应是选择性的,一般来讲它们应该“没有选择性“。如果有大量在线分析查询,特别是查询以一种即席方式引用了多列或者会生成诸如count 之类的聚合,在这样的环境中,位图索引就特别有用 。位图索引使用 create BITMAP INDEX index_name ON table_name(column_name1,column_name2) TABLESPACE tablespace_name命令语法创建。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐