SQL Server和Oracle中的索引
2008-09-03 09:59:42 来源:WEB开发网反向键索引创建语句语法如下:
createINDEXindex_nameontable_name(column_name)REVERSE;
降序索引
降序索引(descending index)是oracle 8i引入的,用以扩展B*树索引的功能,它允许在索引中以降序(从大到小的顺序)存储一列。在oracle8i及以上版本中,DESC关键字确实会改变创建和使用索引的的方式。
我们可以这样创建降序索引:
createINDEXIDX_jobs_titleonhr.jobs(job_titleDESC);
SETautotracetraceonlyEXPLAIN;
select *FROM hr.jobs
wherejob_titleBetween’a’AND’ZZZZZZZZZZZ’;
executionPlan
----------------------------------------------------------
0 selectSTATEMENTOptimizer=CHOOSE(Cost=1Card=1Bytes=33)
1 0 FILTER
2 1 TABLEACCESS(BYINDEXROWID)OF’JOBS’(Cost=1Card=1B
ytes=33)
3 2 INDEX(RANGESCAN)OF’IDX_JOBS_TITLE’(NON-UNIQUE)(C
ost=2Card=1)
SQL>select*fromhr.jobs
2 wherejob_titlebetween’a’and’ZZZZZZZZZZZ’;
executionPlan
----------------------------------------------------------
0 selectSTATEMENTOptimizer=CHOOSE(Cost=2Card=1Bytes=33)
1 0 FILTER
2 1 TABLEACCESS(FULL)OF’JOBS’(Cost=2Card=1Bytes=33)
SQL> dropINDEXIDX_jobs_title;
SQL> createINDEXIDX_jobs_titleonhr.jobs(job_title);
SQL>select*FROMhr.jobs
2 wherejob_titlebetween’a’and’ZZZZZZZZZZZ’;
executionPlan
----------------------------------------------------------
0 selectSTATEMENTOptimizer=CHOOSE(Cost=2Card=1Bytes=33)
1 0 FILTER
2 1 TABLEACCESS(FULL)OF’JOBS’(Cost=2Card=1Bytes=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命令语法创建。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接