- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle bitmap--20100613.doc
Oracle编程高手箴言:位图索引(Bitmap Index)的故事
上一篇 / 下一篇 ?2010-05-14 16:43:13 / 个人分类:个人收藏
查看( 8 ) / 评论( 0 ) / 评分( 0 / 0 )
文件版本: V1.0
开发商: 本站原创
文件来源: 本地
界面语言: 简体中文
授权方式: 免费
运行平台: Win9X/Win2000/WinXP
Oracle数据库,我想您对Thomas Kyte的大名一定不会陌生。Tomas主持的网站享誉Oracle界数十年,绝非幸致。最近在图书馆借到这位Oracle绝顶高手编著的《Expert Oracle Database Architecture-9i and 10g programming Techniques and Solutions》,翻阅之下,果然盛名无虚,虽然说不上字字珠玑,但作者对Oracle架构的理解和实践确实已达到出神入化的境界。如果您有时间和兴趣,强烈建议您阅读这本书。这本书最大的特点是语言生动活泼,说理清楚,几乎每讲解一个原理,作者都给出了具体实例,让人读起来毫不气闷。
另外,Thomas谦逊的态度让我非常佩服,Thomas在Oracle数据库方面工作了16年,并且参与了早期Oracle版本的开发,但他仍然谦虚地说,他每天都能从Oracle文档里学到新的东西。
下面从这本书里摘录了一些精彩片段,供您欣赏,虽然不免有断章取义之嫌。
位图索引(Bitmap Index)的故事
一日,一群Java开发者找到Tom先生,说他们新开发的系统已经上线,但性能及其低下,他们问Tom先生能不能替他们看看问题到底出在什么地方。他们告诉Tom,他们的系统采用JSP+EJB+Oracle的典型三层架构,其中EJB中的SQL是由第三方工具产生的。Tom同志一听到EJB,就知道这个系统是不能采用SQL代码跟踪的方法来进行性能调优了。于是,Tom同志告诉这些心急火燎的Java开发者,你们系统的问题肯定在浏览器到数据库之间,但具体问题出在什么地方,我需要看看你们的数据库。
?
于是,Tom同志远程连接到他们的测试数据库(注意不是生产数据库),查看了几个动态性能视图(V$LOCK和V$SQL),最后终于发现了问题的所在。Tom同志发现他们的数据库中有一个位图索引(Bitmap Index)最为可疑,这个索引是建立在一个PROCESS_FLAG的字段上。PROCESS_FLAG字段表示该记录是否被处理了,可能值只有两个,一个是未处理(N),一个是已经处理(Y)。当记录初次插入数据库时,该字段的值为N,但其它进程读取并处理那些未处理的记录(值为N的记录)后,这个字段的值就更新为Y。
?
Tom就问这些Java开发者,你们为什么要在这个PROCESS_FLAG字段上建立位图索引呢?
?
其中有一个开发者振振有词的说,这是为了提高查找速度,一旦建立了位图索引,我们的程序就能快速找到那些数值为N的记录,然后处理。随后,他又拿出一本大部头的Oracle数据库参考手册,对Tom同志说,这书上都是这么说的,对那些数值非常少的字段,比如,我们的PROCESS_FLAG字段只有两个值,就应该建立位图索引,这难道有什么问题吗?
?
Tom同志微微一笑,没有直接回答。只见他打开SQL Plus,连接到他的本地Oracle实例,给这群开发者演示了下面及其简单的SQL代码。
?
?
C:\Documents and Settings\carlwusqlplus scott/tiger@carl
?
SQL*Plus: Release .0 - Production on Wed Apr 23 18:15:34 2008
Copyright (c) 1982, 2007, Oracle.?All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release .0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
?
SQL create table t(processed_flag varchar2(1));
?
Table created.
?
SQL create bitmap index t_idx on t(processed_flag);
?
Index created.
?
SQL insert into t values(N);
?
1 row created.
?
SQL
?
刚才那位振振有词的开发者不服气的说,这有什么,不是很正常吗?接着Tom又
您可能关注的文档
最近下载
- GPS控制网的布设方法.ppt.ppt VIP
- 公关语言学幻灯片.ppt VIP
- 2019版最新18项护理核心制度.docx VIP
- GPS静态网的布设.ppt VIP
- DB32T 2887-2016 曳引电梯钢丝绳电磁检测方法 .pdf VIP
- 《宁夏闽宁镇:昔日干沙滩,今日金沙滩》-中职语文高二同步课件精选(高教版2023·职业模块).pptx VIP
- 2025年5月18日河南省事业单位招聘考试《公共基础知识》试题(含答案).docx VIP
- 2025年5月18日河南省事业单位招聘考试《职业能力测试》试题(含参考答案).docx VIP
- 数据挖掘教案.doc
- DB42T 2390-2025 城市更新规划编制技术规程.docx VIP
文档评论(0)