WEB开发网
开发学院数据库Oracle Oracle编程高手箴言:位图索引的故事 阅读

Oracle编程高手箴言:位图索引的故事

 2009-04-11 13:13:29 来源:WEB开发网   
核心提示: Tom就问这些Java开发者,你们为什么要在这个PROCESS_FLAG字段上建立位图索引呢?其中有一个开发者振振有词的说,Oracle编程高手箴言:位图索引的故事(2),这是为了提高查找速度,一旦建立了位图索引,键入下面的SQL语句,奇怪的是这条SQL并不执行,我们的程序就能快速找到那些

Tom就问这些Java开发者,你们为什么要在这个PROCESS_FLAG字段上建立位图索引呢?

其中有一个开发者振振有词的说,这是为了提高查找速度,一旦建立了位图索引,我们的程序就能快速找到那些数值为N的记录,然后处理。随后,他又拿出一本大部头的Oracle数据库参考手册,对Tom同志说,这书上都是这么说的,对那些数值非常少的字段,比如,我们的PROCESS_FLAG字段只有两个值,就应该建立位图索引,这难道有什么问题吗?

Tom同志微微一笑,没有直接回答。只见他打开SQLPlus,连接到他的本地Oracle实例,给这群开发者演示了下面及其简单的SQL代码。

C:DocumentsandSettingscarlwu>sqlplusscott/tiger@carl
 

SQL*Plus:Release11.1.0.6.0-ProductiononWedApr2318:15:342008

Copyright(c)1982,2007,Oracle.Allrightsreserved.

Connectedto:

OracleDatabase11gEnterpriseEditionRelease11.1.0.6.0-Production

WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions

SQL>createtablet(processed_flagvarchar2(1));

Tablecreated.

SQL>createbitmapindext_idxont(processed_flag);

Indexcreated.

SQL>insertintotvalues('N');

1rowcreated.

SQL>

刚才那位振振有词的开发者不服气的说,这有什么,不是很正常吗?接着Tom又打开了一个SQLPlus窗口,并连接到本地数据库,键入下面的SQL语句,奇怪的是这条SQL并不执行,而是一直在等待。下面是这条SQL的一个截图:

Oracle编程高手箴言:位图索引的故事

上一页  1 2 3 4  下一页

Tags:Oracle 编程 高手

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接