Oracle索引技术

当前位置:首页 > 计算机网络 > 数据库 > Oracle索引技术

出版社:人民邮电出版社
出版日期:2013-1
ISBN:9787115296269
作者:[美] Kuhn,D.,[美] Alapati,S.R.,[美] Padfield,B.
页数:210页

前言

译 者 序在应用程序开发工作中,之所以要用到数据库,很大一方面原因是数据库能确保数据的安全和高效存取,这样我们可以专心开发与业务相关的功能,而不必操心对底层数据结构进行操作的具体实现。数据库利用各种方式维护数据的完整性、一致性,并提高数据查询和更改操作的效率,其中索引是非常重要的一种方式。Oracle体系结构庞大,它的索引种类繁多、特点各异,每种都有适用的场合和值得注意之处。随着版本的更新,Oracle不断增加新的索引类型。要开发正确、高效的应用程序,必须在一开始就计划使用索引,并在设计中包含它们。而不是等应用程序编写完成后,再让DBA去创建索引,虽然有时需要根据业务的发展修改索引。要在编写应用程序过程中利用好索引,需要深入了解各种索引的功能和特点。否则如果用错索引,不但不能获益,还会给应用程序带来不良的影响。在应用程序投入运行之后,监控、管理和维护索引,对于保证应用程序正常运行必不可少。所以,索引的使用贯穿应用程序的生命周期,不是用几条简单的规则就能概括的,值得用一本书去讲解。本书由资深Oracle数据库专家编写,专业技术出版公司Apress出版。深入浅出地介绍了Oracle各种类型索引的特点和实际用法,并对11g版本新增的几种类型,如不可见索引和虚拟索引进行了详细讲解。本书既介绍了利用索引改善查询和进行数据完整性约束,也提出了管理和维护索引的有用建议,最后两章还介绍了两种与索引有关的调优工具,可以帮助我们正确地创建真正有用的索引。无论是Oracle数据库开发人员还是DBA,都可从本书中获益。这是我翻译的第二本书。第一本书是《Oracle PL/SQL实战》,原书也是由Apress出版的。快要翻译完《Oracle PL/SQL实战》时,我通过傅志红副总经理联系到了朱巍编辑,有幸通过了试译。在接下来4个月的时间里,完成了初译、复查、修改等工作。首先感谢我妻子李颖,在帮我审阅了《Oracle PL/SQL实战》后,又帮助我检查本书译文中存在的很多问题,并把它修改得更加通顺。另一方面,她花了很多时间照顾我儿子的起居和学习,这样我才有时间做这项工作。感谢图灵公司朱巍编辑、岳新欣编辑和李静编辑,她们对译文进行了很多润色,使之错误更少。我从她们修改的译文中也收获良多。最后还要感谢我儿子卢〇一,他知道我在翻译文章就不再缠着我陪他玩,让我能够专心翻译。本书的出版也有他的一份贡献。最后希望这本书对读者有所帮助。由于译者经验和水平有限,译文中难免有不妥之处,恳请读者批评指正!

媒体关注与评论

“本书介绍各个主题的方式非常独到,可帮助新手快速入门。有经验的数据库管理员也可以温故知新。”——读者评论

内容概要

Darl Kuhn
Oracle公司高级数据库管理员,负责数据库管理从设计、开发到产品支持的各个方面。他还在美国科罗拉多的雷吉斯大学讲授高级数据库课程。另外,Darl还是落基山Oracle用户组的DBA志愿者,拥有美国科罗拉多州立大学研究生学位。
Sam R. Alapati
Oracle ACE,经验丰富的Oracle数据库管理员(Oracle Database11g OCP)。目前就职于得克萨斯州沃思堡的Cash美国国际公司,担任高级数据库架构师和经理。撰写过多本数据库管理方面的图书,包括《Oracle Database 11g数据库管理艺术》、《Oracle Database 11g性能优化攻略》,均已由人民邮电出版社翻译出版。
Bill Padfield
Oracle认证专家,具有近30年的IT行业从业经验,14年以上的Oracle数据库管理经验。目前他在科罗拉多州丹佛市的一家大型电信公司担任首席数据库管理员,协助控制和管理由75个数据库系统组成的大型数据仓库环境。同时,Bill也任教于雷吉斯大学,给研究生讲授数据库课程。

书籍目录

第1章  Oracle 索引  1
1.1  用索引提高性能  2
1.2  确定使用哪种类型的索引  4
1.2.1  B树索引  5
1.2.2  特定的索引类型  7
1.3  确定需要建立索引的列  10
1.3.1  主键列和唯一键列的索引  11
1.3.2  外键列的索引  11
1.3.3  其他适合创建索引的列  12
1.4  索引指南  12
1.5  小结  13
第2章  B树索引  15
2.1  Oracle如何使用B树索引  15
2.1.1  场景一:所有的数据位于索引块  17
2.1.2  场景二:索引中不包含所有信息  19
2.1.3?场景三:只有表块被访问  20
2.2  准备创建B树索引  21
2.2.1  在创建前估计索引的大小  21
2.2.2  为索引创建单独的表空间  22
2.2.3  从表空间继承存储参数  23
2.2.4  命名标准  24
2.3  实现B树索引  24
2.3.1  创建B树索引  24
2.3.2  报告索引  25
2.3.3  显示创建索引的代码  26
2.3.4  删除B树索引  27
2.4  管理带约束的B树索引  28
2.4.1  在主键列上创建B树索引  29
2.4.2  在唯一键列上创建B树索引  33
2.4.3  索引外键列  36
2.5  小结  39
第3章  位图索引  40
3.1  位图索引  41
3.2  创建位图索引  44
3.3  创建分区的位图索引  45
3.4  在索引组织表上创建位图索引  45
3.5  位图索引对查询性能的影响  46
3.6  位图索引对数据载入性能的影响  50
3.7  了解位图连接索引  53
3.8  创建位图连接索引  54
3.9  报告位图索引  55
3.10  小结  55
第4章  索引组织表  56
4.1  索引组织表的结构  56
4.2  索引组织表的优势  57
4.3  创建索引组织表  58
4.4  添加溢出段  60
4.5  压缩索引组织表  62
4.6  构建二级索引  63
4.7  重建索引组织表  66
4.8  索引组织表报告  67
4.9  小结  68
第5章  专门索引  69
5.1  不可见索引  69
5.1.1  不可见索引的用途  69
5.1.2  创建不可见索引  70
5.1.3  在数据库中查找不可见索引  71
5.1.4  让优化器使用不可见索引  71
5.1.5  维护不可见索引  72
5.2  基于函数的索引  72
5.2.1  创建基于函数的索引  73
5.2.2  基于函数的索引的限制  76
5.2.3  收集基于函数的索引的统计信息  77
5.3  虚拟列上的索引  78
5.4  键压缩索引  80
5.4.1  键压缩的用途  81
5.4.2  创建压缩索引  82
5.4.3  键压缩和存储  84
5.5  复合索引  85
5.5.1  了解索引跳跃式扫描和复合索引  85
5.5.2  在复合索引中对列进行排列  86
5.5.3  为复合索引选择键  87
5.6  创建虚拟索引  89
5.7  反向键索引  91
5.7.1  反向键索引的缺点  92
5.7.2  反向键索引的用途  94
5.7.3  创建反向键索引  94
5.8  应用程序域索引  94
5.9  小结  95
第6章  分区索引  96
6.1  分区索引  96
6.2  创建本地分区索引  97
6.2.1  最简单的形式  97
6.2.2  分区级的需求  98
6.2.3  前缀和非前缀选项  99
6.3  管理主键和唯一索引  99
6.4  创建全局分区索引  101
6.5  为应用程序选择索引  105
6.6  维护分区表的索引  106
6.6.1  添加分区  106
6.6.2  截断分区  107
6.6.3  移动分区  108
6.6.4  拆分分区  108
6.6.5  交换分区  110
6.6.6  删除分区  111
6.6.7  合并分区  111
6.7  重建全局分区索引和非分区索引  112
6.8  把索引分区设置为不可用后重建  113
6.9  索引对间隔分区的影响  115
6.10  使旧的数据只读  116
6.11  报告分区索引  116
6.12  小结  118
第7章  索引使用调优  119
7.1  优化器访问路径  119
7.2  索引扫描  120
7.2.1  索引唯一扫描  120
7.2.2  索引范围扫描  121
7.2.3  索引跳跃式扫描  123
7.2.4  全索引扫描  124
7.2.5  索引快速全扫描  125
7.3  确定查询是否使用了索引  125
7.4  避免使用索引  127
7.4.1  在任何情况下都不使用某个索引  127
7.4.2  只避免快速扫描  128
7.4.3  强制表扫描  128
7.5  在索引和表扫描之间选择  128
7.6  优化器忽略索引的原因  129
7.6.1  不同的行数  129
7.6.2  索引聚簇因子  130
7.7  索引访问路径因没有新的统计信息而改变  131
7.7.1  使用不等条件  131
7.7.2  使用通配符查询  133
7.7.3  在谓词中引用空值  134
7.7.4  在查询中包含函数  135
7.7.5  跳过索引的前导部分  136
7.8  强制优化器使用索引  136
7.8.1  应用INDEX提示  137
7.8.2  应用相关的提示  138
7.8.3  对失败的索引提示进行诊断  139
7.8.4  调整optimizer_index_cost_adj参数  140
7.8.5  为索引收集准确的统计信息  142
7.9  并行化索引访问  143
7.10  小结  144
第8章  维护索引  145
8.1  收集索引统计信息  145
8.1.1  DBMS_STATS包  145
8.1.2  METHOD_OPT参数  147
8.2  处理不可用索引  148
8.2.1  使索引不可用  149
8.2.2  指定SKIP_UNUSABLE_INDEXES参数  150
8.3  管理索引使用的空间  153
8.3.1  重建索引以减少碎片  153
8.3.2  重建反向键索引  154
8.3.3  回收未使用的空间  154
8.3.4  重建分区索引  154
8.3.5  频繁重建索引  157
8.4  INDEX_STATS视图在重建索引时的作用  157
8.4.1  INDEX_STATS视图的优点  158
8.4.2  INDEX_STATS视图的问题  160
8.5  关于重建索引的争论  162
8.5.1  重建索引的理由  162
8.5.2  反对重建的理由  163
8.5.3  关于重建索引的建议  163
8.6  合并索引来减少碎片  164
8.7  收缩索引以减少碎片  165
8.8  移动表和索引  166
8.9  提高创建索引的效率  167
8.9.1  并行创建索引  167
8.9.2  避免在索引创建期间生成重做  168
8.9.3  使用较大的块  169
8.9.4  压缩索引  169
8.9.5  同时使用多个选项  170
8.10  生成DDL从而创建索引  170
8.10.1  使用DBMS_METADATA包  170
8.10.2  使用SESSION_TRANSFORM存储过程  171
8.10.3  使用SET_FILTER存储过程  172
8.10.4  使用数据泵  173
8.11  删除索引  173
8.12  小结  174
第9章  SQL调优顾问  176
9.1  工具之间的联系  176
9.2  自动SQL调优作业  178
9.2.1  验证自动作业在运行  178
9.2.2  查看自动SQL调优作业中的建议  179
9.2.3  生成SQL脚本来实施自动调优建议  181
9.2.4  禁用和启用自动SQL调优  182
9.3  管理SQL调优集  183
9.3.1  在AWR中查看占用大量资源的SQL  184
9.3.2  查看内存中使用大量资源的SQL  186
9.3.3  用AWR中占用大量资源的SQL填充SQL调优集  187
9.3.4  用内存中占用大量资源的SQL填充SQL调优集  188
9.3.5  用内存中所有的SQL来填充SQL调优集  189
9.3.6  显示SQL调优集的内容  190
9.3.7  选择性删除SQL调优集中的语句  192
9.3.8  将语句添加到现有的SQL调优集  193
9.3.9  删除SQL调优集  193
9.4  运行SQL调优顾问  193
9.4.1  创建调优任务  195
9.4.2  执行DBMS_SQLTUNE并查看建议  197
9.4.3  查看和删除调优任务  197
9.4.4  从SQL Developer中运行SQL调优顾问  197
9.4.5  从企业管理器运行SQL调优顾问  198
9.5  小结  199
第10章  SQL访问顾问  200
10.1  为单个SQL语句生成的建议  201
10.2  获得一组SQL语句的建议  203
10.3  查询顾问视图  209
10.4  小结  210

编辑推荐

经验丰富的Oracle专家权威力作全面、详尽、贴近实战Oracle DBA和开发人员必备

作者简介

正确使用Oracle数据库的索引不仅可以实现良好的性能,更重要的是能够创造出可伸缩的数据库应用程序。本书在介绍各种类型索引的过程中,始终围绕性能这一主线,透彻分析了为Oracle数据库创建和优化索引的方方面面。
本书三位作者都是经验丰富的Oracle数据库管理员,拥有创建、使用和维护索引的丰富经验。Darl Kuhn是Oracle公司高级数据库管理员,Sam R. Alapati是Cash美国国际公司高级数据库架构师,Bill Padfield则是丹佛一家大型电信公司的首席DBA。三位作者在合作撰写多本广受赞誉的Oracle图书之后再次联手,在这本专门探讨数据库索引的书里,将多年的实践经验和心得体会和盘托出。读者将在作者睿智、谨慎、敏锐的指引下,深入领会Oracle索引技术的精髓。
如果你是菜鸟,本书可助你迅速掌握Oracle索引技术;如果你是资深Oracle数据库管理员,本书可助你摆脱工作中相关问题的困扰。

图书封面


 Oracle索引技术下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     全书对索引讲得很泛,大部分不是很深入什么是索引,用来做什么 -> Oracle有几种索引,分别用在什么地方 -> 如何让索引正确实现 -> 如何优化、维护索引后面两部分只有第7、8、9章在说,精华也全在第8章上

精彩短评 (总计43条)

  •     书不错,需要有一定的SQL基础才能看得明白
  •     学Oracle索引技术的宝典。。。只看了和工作相关的部分
  •     对索引介绍的非常全面细致,对一些小的琐碎的在工作中易忽略的细节问题也给予提醒。
  •     书薄 贵
  •     。。。不到一周就看完了
  •     SAM的书,值得推荐
  •     页数不多,希望内容还好
  •     在学优化,应该看看。买了,还没开始看。
  •     书本不错,内容具体
  •     总体还可以,但部分地方不太严谨,老外的书很少这样哦
  •     好久没来卓越买东西了,现在怎么都这样了,书来了,表面被划伤的不堪入目,里面还有几页被折了,哎,伤心了。。。。,下次还是换别的地方买吧
  •     对索引技术讲解的很到位
  •     对于想了解oracle索引机制的人比较适合阅读。
  •     对理解索引和调优很有帮助
  •     作为一本专门写索引的书,写的很详细~~
  •     有些单薄,价格贵些。
  •     很少见的索引方面的书籍,很棒
  •     非常不错,实战性很强!
  •     这本书太基础
  •     这个商品不错~,快递很快,满意的
  •     系统全面,深入的讲解了索引的使用及优化技巧,每章节有小结内容
  •     非常不错的书啊,哇哈哈
  •     集中讲解了Oracle的索引类型和特点,可以说一书在手,索引无忧,但缺点是中文翻译的不太好。计算机技术方面的英文一般都不难,如果有英文原版的就好了。
  •     很有内容的一末书,值得你一读.
  •     只是讲索引的使用和管理,没有说索引的原理等,深入的东西。只是本工具书而已。
  •     就像最后一页写的,温故知新,概念讲浅显易懂,后面几章可以作为速查手册使用。
  •     有点深度,建议有很多经验的人再读此书
  •     可以对索引进行一个系统的了解和学习。
  •     专题的书,要分析的更加透彻。感觉还缺少些东西的。没有获得一个绝技。
  •     讲的不是很清楚,比较笼统
  •     适合中高级SQL编程人员
  •     说Oracle索引的一本普通的书,不深入,也不含索引的入门,有些困惑的地方也没有写得比较深入
  •     相当一般,对于索引类型和SQL条有那么一点点的讲解,但是不够深入,属于入门级
  •     索引技术
  •     书不错。送货速度比以前快
  •     书很好,是我想要的那本。不过我付了两次款什么时候把我多付的那份退还到我的账户啊
  •     主要介绍索引用法,偏DBA,对于如何代码实现介绍不多。
  •     还行,书有些薄
  •     书还可以,来好好研究一下
  •     Oracle索引技术 非常好
  •     非常好的书,一定会认真读完的。
  •     内容还是挺不错的,就是纸的质量有点差
  •     半价买的,内容还可以
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024