热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

Oracle性能诊断艺术第2版

编号:
711542117X001
销售价:
¥95.20
(市场价: ¥119.00)
赠送积分:
95
商品介绍

本书是兼具技术性与指导性的参考手册。书中首先介绍了全书所需的基础知识;接着描述如何借助相关工具识别和分析性能问题,如何利用动态性能视图;接着重点关注负责将SQL语句生成执行计划的组件——查询优化器;最后则展示了Oracle数据库为高效执行SQL语句提供的特性。

目    录

第一部分  基 础
第1章  性能问题  2
1.1  需要为性能做规划吗  2
1.1.1  需求分析  2
1.1.2  分析与设计  4
1.1.3  编码和单元测试  4
1.1.4  集成和验收测试  6
1.2  为性能而设计  6
1.2.1  缺乏数据库逻辑设计  6
1.2.2  实现通用表  7
1.2.3  未使用约束加强数据完整性  7
1.2.4  缺乏数据库物理设计  7
1.2.5  未正确选择数据类型  8
1.2.6  未正确使用绑定变量  8
1.2.7  未利用数据库高级特性  8
1.2.8  未使用PL/SQL进行以数据为中心的处理  9
1.2.9  执行不必要的提交  9
1.2.10  持续打开和关闭数据库连接  9
1.3  你真的面临性能问题吗  9
1.3.1  系统监控  10
1.3.2  响应时间监控  10
1.3.3  强迫性调优障碍  10
1.4  如何处理性能问题  11
1.4.1  业务视角和系统视角  11
1.4.2  问题的编录  12
1.4.3  解决问题  12
1.5  小结  15
第2章  关键概念  16
2.1  选择率和基数  16
2.2  什么是游标  17
2.3  游标的生命周期  18
2.4  解析的工作原理  20
2.4.1  可共享游标  22
2.4.2  绑定变量  25
2.5  读写数据块  35
2.6  检测  36
2.6.1  应用程序代码  37
2.6.2  数据库调用  39
2.7  小结  42
第二部分  识 别
第3章  分析可重现的问题  45
3.1  跟踪数据库调用  45
3.1.1  SQL跟踪  45
3.1.2  跟踪文件的结构  57
3.1.3  使用TRCSESS  59
3.1.4  探查器  60
3.1.5  使用TKPROF  60
3.1.6  使用TVD$XTAT  70
3.2  探查PL/SQL代码  79
3.2.1  使用DMBS_HPROF  79
3.2.2  使用DBMS_PROFILER  85
3.2.3  触发探查器  89
3.3  小结  90
第4章  实时分析不可重现的问题  91
4.1  分析路线图  91
4.2  动态性能视图  93
4.2.1  操作系统统计信息  93
4.2.2  时间模型统计信息  94
4.2.3  等待级别和等待事件  96
4.2.4  系统和会话统计信息  100
4.2.5  度量值  101
4.2.6  当前会话状态  102
4.2.7  活动会话历史  103
4.2.8  SQL语句统计信息  111
4.2.9  实时监控  112
4.3  使用Diagnostics Pack和Tuning Pack进行分析  115
4.3.1  数据库服务器负载  115
4.3.2  系统级别分析  116
4.3.3  会话级别分析  120
4.3.4  SQL语句信息  122
4.4  不使用Diagnostics Pack进行分析  125
4.4.1  数据库服务器负载  125
4.4.2  系统级别分析  126
4.4.3  会话级别分析  129
4.4.4  SQL语句信息  130
4.5  小结  131
第5章  不可重现问题的事后分析  132
5.1  知识库  132
5.2  自动工作负载存储库  133
5.2.1  执行配置  133
5.2.2  捕获快照  134
5.2.3  管理基线  135
5.3  Statspack  136
5.3.1  执行安装  137
5.3.2  配置存储库  137
5.3.3  捕获和清除快照  138
5.3.4  管理基线  139
5.4  使用Diagnostics Pack进行分析  140
5.5  不使用Diagnostics Pack进行分析  140
5.6  小结  145
第三部分  查询优化器
第6章  查询优化器简介  148
6.1  基础知识  148
6.2  体系结构  150
6.3  查询转换  152
6.3.1  计数转换  152
6.3.2  公共子表达式消除  153
6.3.3  “或”扩张  153
6.3.4  视图合并  154
6.3.5  选择列表裁剪  155
6.3.6  谓词下推  156
6.3.7  谓词迁移  158
6.3.8  非重复放置  158
6.3.9  非重复消除  159
6.3.10  Group-by放置  159
6.3.11  Order-By消除  160
6.3.12  子查询展开  160
6.3.13  子查询合并  161
6.3.14  使用窗口函数移除子查询  162
6.3.15  联接消除  162
6.3.16  联接因式分解  163
6.3.17  外联接转内联接  163
6.3.18  完全外联接  164
6.3.19  表扩张  164
6.3.20  集合操作联接转变  165
6.3.21  星型转换  166
6.3.22  物化视图查询重写  166
6.4  小结  166
第7章  系统统计信息  167
7.1  dbms_stats包  167
7.2  有哪些系统统计信息可用  168
7.3  收集系统统计信息  170
7.3.1  无工作负载统计信息  170
7.3.2  工作负载统计信息  171
7.3.3  在无工作负载统计信息和工作负载统计信息之间进行选择  174
7.4  还原系统统计信息  174
7.5  使用备份表  175
7.6  管理操作的日志记录  176
7.7  对查询优化器的影响  177
7.8  小结  182
第8章  对象统计信息  183
8.1   dbms_stats包  183
8.2  有哪些对象统计信息可用  185
8.2.1  表统计信息  186
8.2.2  列统计信息  187
8.2.3  直方图  189
8.2.4  扩展统计信息  200
8.2.5  索引统计信息  205
8.2.6  分区对象统计信息  206
8.3  收集对象统计信息  207
8.3.1  目标对象  208
8.3.2  收集选项  212
8.3.3  备份表  217
8.4  配置dbms_stats包  218
8.4.1  传统方式  218
8.4.2  现代方式  219
8.5  处理全局临时表  221
8.6  处理挂起的对象统计信息  222
8.7  处理分区对象  223
8.7.1  挑战  223
8.7.2  增量统计信息  226
8.7.3  复制统计信息  228
8.8  调度对象统计信息的收集  229
8.8.1  10g方式  229
8.8.2  11g和12c方式  231
8.9  还原对象统计信息  232
8.10  锁定对象统计信息  234
8.11  比较对象统计信息  236
8.12  删除对象统计信息  238
8.13  导出、导入、获取和设置对象统计信息  239
8.14  管理操作的日志记录  239
8.15  保持对象统计信息为最新的策略  241
8.16  小结  242
第9章  配置查询优化器  243
9.1  配置还是不配置  243
9.2  配置路线图  244
9.3  设置正确的参数  245
9.3.1  查询优化器参数  246
9.3.2  PGA管理  260
9.4  小结  266
第10章  执行计划  267
10.1  获取执行计划  267
10.1.1  EXPLAIN PLAN语句  267
10.1.2  动态性能视图  270
10.1.3  自动工作负载存储库和Statspack  272
10.1.4  跟踪工具  274
10.2  dbms_xplan包  277
10.2.1  输出  277
10.2.2  display函数  281
10.2.3  display_cursor函数  286
10.2.4  display_awr函数  288
10.3  解释执行计划  289
10.3.1  父?子关系  290
10.3.2  操作的类型  292
10.3.3  独立操作  292
10.3.4  迭代操作  295
10.3.5  无关联组合操作  295
10.3.6  关联组合操作  297
10.3.7  分而治之  305
10.3.8  特殊情况  307
10.3.9  自适应执行计划  310
10.4  识别低效的执行计划  314
10.4.1  错误的估算  314
10.4.2  未识别限制条件  316
10.5  小结  317
第四部分  优 化
第11章  SQL优化技巧  320
11.1  修改访问结构  321
11.1.1  工作原理  321
11.1.2  何时使用  322
11.1.3  陷阱和谬误  322
11.2  修改SQL语句  322
11.2.1  工作原理  322
11.2.2  何时使用  323
11.2.3  陷阱和谬误  324
11.3  hint  324
11.3.1  工作原理  324
11.3.2  何时使用  330
11.3.3  陷阱和谬误  330
11.4  修改执行环境  332
11.4.1  工作原理  332
11.4.2  何时使用  334
11.4.3  陷阱和谬误  334
11.5  存储概要  334
11.5.1  工作原理  335
11.5.2  何时使用  343
11.5.3  陷阱和谬误  343
11.6  SQL配置文件  344
11.6.1  工作原理  345
11.6.2  何时使用  357
11.6.3  陷阱和谬误  357
11.7  SQL计划管理  358
11.7.1  工作原理  359
11.7.2  何时使用  372
11.7.3  陷阱和谬误  372
11.8  小结  373
第12章  解析  374
12.1  识别解析问题  374
12.1.1  快速解析  375
12.1.2  长解析  380
12.2  解决解析问题  381
12.2.1  快速解析  381
12.2.2  长解析  387
12.3  避开解析问题  387
12.3.1  游标共享  388
12.3.2  服务器端语句缓存  390
12.4  使用应用编程接口  392
12.4.1  PL/SQL  392
12.4.2  OCI  395
12.4.3  JDBC  396
12.4.4  ODP.NET  398
12.4.5  PHP  399
12.5  小结  400
第13章  优化数据访问  401
13.1  识别次优访问路径  401
13.1.1  识别  401
13.1.2  误区  403
13.1.3  原因  405
13.1.4  解决方案  406
13.2  弱选择性的SQL语句  409
13.2.1  全表扫描  409
13.2.2  全分区扫描  411
13.2.3  范围分区  411
13.2.4  散列和列表分区  422
13.2.5  复合分区  422
13.2.6  设计要素  424
13.2.7  全索引扫描  426
13.3  强选择性的SQL语句  429
13.3.1  Rowid访问  429
13.3.2  索引访问  430
13.3.3  单表散列群集访问  468
13.4  小结  470
第14章  优化联接  471
14.1  定义  471
14.1.1  联接树  471
14.1.2  联接的类型  475
14.1.3  限制条件与联接条件  478
14.2  嵌套循环联接  479
14.2.1  概念  479
14.2.2  两表联接  480
14.2.3  四表联接  481
14.2.4  缓冲区缓存预取  482
14.3  合并联接  484
14.3.1  概念  484
14.3.2  两表联接  485
14.3.3  四表联接  488
14.3.4  工作区  489
14.4  散列联接  494
14.4.1  概念  494
14.4.2  两表联接  495
14.4.3  四表联接  496
14.4.4  工作区  498
14.4.5  索引联接  498
14.5  外联接  499
14.6  选择联接方法  499
14.6.1  First-Rows优化  500
14.6.2  All-Rows优化  500
14.6.3  支持的联接方法  500
14.6.4  并行联接  500
14.7  分区智能联接  501
14.7.1  完全智能化分区连接  501
14.7.2  部分智能化分区联接  504
14.8  星型转换  505
14.9  小结  511
第15章  数据访问和联接优化之外  512
15.1  物化视图  512
15.1.1  工作原理  512
15.1.2  何时使用  530
15.1.3  陷阱和谬误  531
15.2  结果缓存  531
15.2.1  工作原理  532
15.2.2  何时使用  538
15.2.3  陷阱和谬误  538
15.3  并行处理  539
15.3.1  工作原理  540
15.3.2  何时使用  567
15.3.3  陷阱和谬误  567
15.4  直接路径插入  571
15.4.1  工作原理  572
15.4.2  何时使用  574
15.4.3  陷阱和谬误  574
15.5  行预取  575
15.5.1  工作原理  575
15.5.2  何时使用  579
15.5.3  陷阱和谬误  580
15.6  数组接口  580
15.6.1  工作原理  580
15.6.2  何时使用  583
15.6.3  陷阱和谬误  583
15.7  小结  583
第16章  优化物理设计  584
16.1  最优列顺序  584
16.2  最优数据类型  586
16.2.1  数据类型选择中的陷阱  586
16.2.2  数据类型选择最佳实践  589
16.3  行迁移和行链接  591
16.3.1  迁移与链接  591
16.3.2  问题描述  593
16.3.3  问题识别  593
16.3.4  解决方案  594
16.4  块争用  594
16.4.1  问题描述  594
16.4.2  问题识别  595
16.4.3  解决方案  599
16.5  数据压缩  602
16.5.1  概念  602
16.5.2  要求  603
16.5.3  方法  603
参考文献  606

Christian Antognini资深数据库专家,从1995年就开始致力于探究Oracle数据库引擎的工作机制。长期关注逻辑与物理数据库的设计、数据库与Java应用程序的集成、查询优化器以及与性能管理和优化相关的各个方面。目前任瑞士苏黎世Trivadis公司首席顾问和性能教练,是OakTable网站核心成员。

商品参数
基本信息
品牌/出版社 人民邮电出版社
ISBN 9787115421173
条码 9787115421173
编者 ChristianAntogni
译者
出版年月 2016.06
开本
装帧
页数
字数
版次
印次
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]