图书介绍
Oracle高性能SQL调整2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)Donald K.Burleson著;刘砚,黄春等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111097556
- 出版时间:2002
- 标注页数:397页
- 文件大小:24MB
- 文件页数:408页
- 主题词:
PDF下载
下载说明
Oracle高性能SQL调整PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 背景知识1
第1章 SQL简介1
1.1 SQL的基本特征1
1.2 SQL起源3
1.2.1 SQL模型4
1.2.2 select操作4
1.2.3 project操作4
1.2.4 join操作5
1.3 SQL优化器5
1.4 SQL调整的目标5
1.5 作为Oracle调整步骤之一的SQL调整6
1.6 SQL调整的障碍8
1.7 SQL调整过程9
1.7.1 定位使用频繁的SQL语句10
1.7.2 调整SQL语句11
1.7.3 调整持久化11
1.8 SQL调整的目标12
1.9 SQL调整工具箱13
1.10 结论18
第2章 Oracle SQL扩展简介19
2.1 Oracle内部视图19
2.2 Oracle内置函数23
2.3 Oracle SQL和面向对象扩展26
2.4 挑战关系原则——重复数据项列表29
2.4.1 varray表30
2.4.2 表嵌套33
2.4.3 SQL对象扩展的性能34
2.5 结论34
第3章 理解SQL执行36
3.1 解析SQL语句36
3.1.1 重新书写查询37
3.1.2 在Oracle8i和Oracle9i中使用cursor_sharing38
3.2 生成执行计划40
3.1.3 减少SQL解析的技术40
3.2.1 表访问方式41
3.2.2 索引访问方式43
3.2.3 连接操作45
3.3 对SQL结果集进行排序49
3.4 结论50
第4章 SQL优化器简介51
4.1 基本的优化器技术51
4.1.1 基于规则的优化器52
4.1.2 基于成本的优化器54
4.2.1 rule模式56
4.2.2 choose模式56
4.2 优化器模式56
4.2.3 first_rows模式57
4.2.4 all_rows模式57
4.2.5 更快的执行速度与最小的资源消耗57
4.3 基于规则优化的调整58
4.3.1 更改基于规则的驱动表59
4.3.2 如果基于规则的优化器没有使用正确的索引59
4.4 基于成本优化的调整60
4.4.1 调用基于成本的优化器61
4.4.2 为CBO收集统计资料62
4.5 决定默认优化器模式63
4.6 迁移到基于成本的优化器64
4.6.1 对开发人员进行重新培训64
4.6.2 选择基于成本的优化器的思想65
4.7 结论67
第5章 SQL内部处理68
5.1 共享SQL区域和专用SQL区域68
5.2 SQL的SGA统计资料69
5.3 程序库缓存的内部情况70
5.3.1 程序库缓存中可以多次使用的SQL70
5.3.2 监控程序库缓存不足率71
5.3.3 使用STATSPACK监控程序库缓存中的对象72
5.3.4 程序库缓存的STATSPACK报告73
5.4 调整Oracle SQL排序74
5.5 确定程序库缓存中具有高影响力的SQL语句79
5.6 关于程序库缓存中SQL的报告83
5.6.1 使用带有STATSPACK的access.sql脚本84
5.6.2 access.sql报告84
5.6.3 全表扫描报告85
5.6.4 索引范围扫描报告86
5.6.5 索引惟一性扫描报告86
5.6.6 完全索引扫描报告87
5.6.7 access.sql报告的局限性87
5.7 结论88
6.1 SQL调整和全表扫描89
第6章 调整SQL表访问89
6.1.1 决定全表扫描的阈值90
6.1.2 查找全表扫描90
6.1.3 优化器如何选择全表扫描91
6.1.4 当CBO选择了错误的全表扫描92
6.1.5 预防不必要的全表扫描93
6.2 借助于索引的表访问97
6.3 更改表访问方式98
6.3.1 将索引由惟一索引更改为非惟一索引99
6.3.2 重新书写SQL语句以更改表访问方法100
6.4 重新排序表记录以减少输入输出102
6.4.1 使用索引簇重新排序记录104
6.4.2 使用CTAS重新排序记录106
6.5 Oracle存储参数和表访问性能108
6.5.1 pctfree存储参数108
6.5.2 pctused存储参数109
6.5.3 freelists存储参数109
6.5.4 OPS的freelist groups存储参数110
6.5.5 存储参数规则总结110
6.6 空闲列表管理和表访问性能111
6.6.1 空闲列表的链接和取消链接112
6.7 结论114
6.6.2 减少空闲列表的重新链接114
第二部分 SQL调整基础115
第7章 Oracle SQL调整的过程115
7.1 SQL调整的目标115
7.2 SQL调整步骤116
7.3 第一步:确定具有高影响力的SQL语句117
7.3.1 SQL语句分级117
7.3.2 确定使用频繁的SQL语句118
7.3.3 使用STATSPACK指定具有高影响力的SQL119
7.3.4 来自程序库缓存的SQL报告122
7.3.5 使用第三方工具定位有问题的SQL126
7.4 第二步:抽取和解释SQL语句128
7.5 第三步:调整SQL语句129
7.6 SQL调整实例130
7.7 使用第三方工具快速进行SQL调整132
7.8 结论134
第8章 理解Oracle SQL工具135
8.1 解释SQL语句135
8.2 运行快速SQL跟踪140
8.3 TKPROF工具141
8.3.1 为SQL跟踪设置环境141
8.3.2 生成SQL跟踪文件142
8.3.3 格式化跟踪文件144
8.3.4 TKPROF报告145
8.4 Oracle专家中心SQL分析报告147
8.5 有关程序库缓存中所有SQL的报告149
8.5.1 使用带有STATSPACK的access.sql脚本150
8.5.2 access.sql报告151
8.6 结论153
第9章 定位重要的SQL语句154
9.1 建立实例范围的SQL基线154
9.1.1 设置默认的Optimizer_Mode154
9.1.2 默认优化器模式持久化155
9.1.3 提高全表扫描速度的实例范围参数156
9.1.4 其他影响SQL执行的初始化参数156
9.2 什么是重要的SQL语句157
9.1.5 运行SQL基线测试157
9.3.1 指定高频使用的SQL语句158
9.3 抽取需要调整的重要SQL语句的技术158
9.3.2 抽取SQL语句的脚本159
9.4 SQL语句分级160
9.4.1 查找不包含提示的新SQL语句160
9.4.2 当使用优化器计划稳定性时查找新SQL语句163
9.5 结论163
第10章 调整全表扫描和并行查询164
10.1 评估全表扫描的合法性164
10.2 查找要进行Oracle并行查询的表165
10.3.1 调用Oracle并行查询166
10.3 Oracle并行查询简介166
10.3.2 Oracle并行查询初始化参数167
10.3.3 设置最优化的并行度168
10.3.4 使用并行查询提示172
10.3.5 并行查询和表连接173
10.4 监控Oracle并行查询的使用179
10.4.1 监控并行执行活动179
10.4.2 使用STATSPACK监控Oracle并行查询180
10.4.3 使用V$视图监控Oracle并行查询181
10.4.4 并行查询和分布表182
10.5 结论183
第11章 优化Oracle SQL语句排序185
11.1 有关Oracle排序的初始化参数185
11.1.1 sort_area_size参数186
11.1.2 sort_area_retained_size参数186
11.1.3 sort_multiblock_read_count参数187
11.1.4 已废弃的Oracle8排序参数187
11.1.5 优化器模式和排序活动187
11.2 通过添加索引避免排序187
11.3 不必要的排序188
11.4 监控排序活动188
11.5 结论191
第12章 使用Oracle提示进行调整192
12.1 提示简介和历史192
12.2 在SQL查询中指定提示192
12.3 优化器提示193
12.3.1 all_rows提示194
12.3.2 rule提示194
12.3.3 first_rows提示194
12.4 表连接提示194
12.4.1 use_hash提示194
12.4.2 use_merge提示196
12.4.3 use_nl提示196
12.4.4 star提示197
12.5.1 merge_aj提示198
12.5 表反连接提示198
12.5.2 hash_aj提示200
12.6 Index提示201
12.6.1 Index提示简介201
12.6.2 index_join提示202
12.6.3 and_equal提示202
12.6.6 index_desc提示204
12.6.7 index_combine提示204
12.6.5 no_index提示204
12.6.4 index_asc提示204
12.6.8 index_ffs提示206
12.6.9 use_concat提示207
12.7 Parallel提示209
12.7.1 parallel提示简介209
12.7.2 pq_distribute提示210
12.7.3 noparallel提示211
12.8 表访问提示211
12.8.1 full提示211
12.8.2 簇表提示211
12.8.4 nocache提示212
12.8.5 ordered提示212
12.8.3 no_expand提示212
12.8.6 ordered_predicates提示213
12.8.7 push_subq提示213
12.9 子查询中的提示213
12.10 结论216
第13章 使用优化器计划稳定性进行调整217
13.1 存储框架简介217
13.1.1 优化器计划稳定性背后的思想218
13.1.2 在向CBO迁移时使用优化器计划稳定性219
13.2 使用存储框架要做的准备219
13.2.3 创建框架包220
13.2.2 检查重要的初始化参数220
13.2.1 设置use_stored_outlines命令220
13.2.4 创建存储框架表空间221
13.3 如何创建和修改存储框架222
13.3.1 确定最快的执行计划222
13.3.2 为最初的查询创建存储框架224
13.3.3 为带有提示的查询创建存储框架225
13.3.4 交换存储框架227
13.4 管理存储框架228
13.4.1 为存储框架使用字典视图和表228
13.4.2 使用框架包230
13.4.3 管理存储框架的分类231
13.5 结论234
第14章 基于成本优化器的调整235
14.1 统计资料和基于成本的优化235
14.1.1 动态和静态CBO执行计划思想235
14.1.2 收集统计资料的频率236
14.1.3 为CBO收集统计资料238
14.2 基于成本优化和SQL调整239
14.2.1 基于成本的表连接240
14.2.2 调整带有子查询的基于成本的SQL语句241
14.2.3 调整复杂的布尔查询242
14.3.1 影响表连接的初始化参数248
14.3 影响基于成本优化器行为的初始化参数248
14.3.2 影响CBO索引行为的初始化参数253
14.4 结论253
第15章 基于规则优化器的调整255
15.1 调用基于规则的优化255
15.2 使用choose作为默认优化模式时存在的问题256
15.3 使用基于规则的默认优化器模式256
15.3.1 驱动表位置问题257
15.3.2 驱动表和表基数258
15.3.3 有关调整基于规则查询的提示259
15.4 基于规则的优化器无效的情况260
15.5 基于规则的优化器是最佳选择的情况260
15.6 结论262
第16章 调整表连接264
16.1 表连接类型264
16.1.1 等连接265
16.1.2 外部连接265
16.1.3 自连接267
16.1.4 反连接269
16.1.5 半连接271
16.2 Oracle表连接方法274
16.2.1 嵌套循环连接274
16.2.2 use_nl提示276
16.2.3 散列连接276
16.2.4 排序合并连接280
16.2.5 星型连接283
16.3 评估表连接顺序287
16.4 调整分布式SQL表连接288
16.4.1 总是为分布式连接使用CBO289
16.4.2 察看分布式连接的执行计划289
16.4.3 分布式连接调整方针291
16.5 结论292
第三部分 SQL高级调整293
第17章 调整SQL的DML语句293
17.1 Oracle存储参数和DML性能293
17.1.2 pctused存储参数294
17.1.1 pctfree存储参数294
17.1.3 freelists参数和DML性能295
17.1.4 OPS的freelist组存储参数295
17.1.5 存储参数规则的小结295
17.2 空闲列表管理和DML性能296
17.2.1 链接到空闲列表和从空闲列表断开链接297
17.2.2 减少空闲列表重新链接操作299
17.3 长数据列和DML行为299
17.4 根据平均记录长度来设置pctfree和pctused参数301
17.5 缓冲区忙等待以及DML冲突302
17.5.1 利用STATSPACK发现DML等待冲突303
17.5.2 用STATSPACK确定缓冲区忙等待305
17.6 SQL update语句、子查询和并行DML312
17.7 DML执行时约束的开销314
17.8 用DML维持索引所需的开销315
17.9 使用PL/SQL批量插入来提高SQL插入数据的速度316
17.10 结论317
第18章 用临时表调整SQL319
18.1 与字典视图一起使用CTAS319
18.2 结论328
第19章 SQL子查询的调整329
19.1 Oracle子查询的基本知识329
19.2 关联与非关联子查询331
19.2.2 子查询的执行时间332
19.2.1 数据量规模和子查询的问题332
19.2.3 子查询执行的基本特征335
19.3 子查询的自动SQL转换335
19.4 调整具有IN和EXISTS子句的子查询335
19.4.1 使用IN子句的非关联子查询335
19.4.2 带有IN子句的关联子查询340
19.4.3 带有EXISTS子句的非关联子查询340
14.4.4 使用EXISTS子句的关联子查询340
19.5 调整带有NOT IN和NOT EXISTS子句的子查询342
19.5.1 使用NOT IN运算符的非关联子查询342
19.5.2 带有NOT IN运算符的关联子查询344
19.5.3 带有NOT EXISTS运算符的关联子查询345
19.5.4 使用NOT EXISTS运算符的非关联子查询346
19.6 调整带有不相等条件的子查询347
19.6.1 在子查询中使用ALL和ANY子句347
19.6.2 在子查询中使用不相等条件349
19.7 用提示来提高子查询的执行速度351
19.8 结论352
第20章 用索引调整SQL353
20.1 把握进行索引的时机353
20.1.1 提取SQL语句354
20.1.3 衡量全表扫描的合法性355
20.1.2 添加索引355
20.1.4 衡量带有新索引的查询的执行时间358
20.1.5 预测整个数据库的受益情况358
20.2 通过添加索引来消除排序358
20.3 不必要的排序358
20.4 索引谓词359
20.5 B树索引中可供选择的索引363
20.5.1 位图索引363
20.5.2 基于函数的索引363
20.5.3 反主键索引与SQL性能363
20.6 带有IN条件的查询的索引用法364
20.7 结论365
第21章 数据仓库的SQL调整366
21.1 大型数据表连接调整366
21.1.1 ordered提示367
21.1.2 order_predicates提示367
21.2 Oracle分区与Oracle SQL调整368
21.2.1 分区和SQL数据表连接368
21.2.2 分区与SQL执行速度368
21.3 Oracle的并行查询和Oracle SQL调整369
21.3.1 并行查询的int.ora参数369
21.3.2 设置最优的并行度370
21.3.3 使用并行查询提示371
21.4 数据仓库查询的Oracle优化373
21.4.1 optimizer_search_limit参数374
21.4.2 optimizer_max_permutations参数374
21.5 结论376
第22章 用STATSPACK进行SQL调整377
22.1 STATSPACK和SQL数据收集378
22.2 用STATSPACK对Oracle SQL排序进行调整378
22.3 用STATSPACK跟踪SQL384
22.3.1 SQL快照阈值384
22.3.2 STATSPACK SQL前10位报表385
22.4 结论387
第23章 调整使用内置函数和特殊运算符的SQL语句388
23.1 在SQL中使用like和case子句388
23.1.1 在Oracle查询中使用like子句388
23.1.2 用case语句合并多重扫描390
23.2 调整带有BIF的SQL语句391
23.2.1 BIF与字符数据类型一起使用392
23.2.2 BIF与日期数据类型一起使用392
23.2.3 使用substr BIF395
23.2.4 Oracle9i中对BIF的改进396
23.3 结论397
23.4 本书的总结397
热门推荐
- 3298449.html
- 1331753.html
- 623437.html
- 2328129.html
- 2371732.html
- 1862576.html
- 1819038.html
- 2645391.html
- 3216456.html
- 1167649.html
- http://www.ickdjs.cc/book_3089676.html
- http://www.ickdjs.cc/book_658998.html
- http://www.ickdjs.cc/book_2592076.html
- http://www.ickdjs.cc/book_3089293.html
- http://www.ickdjs.cc/book_3648558.html
- http://www.ickdjs.cc/book_1034092.html
- http://www.ickdjs.cc/book_820278.html
- http://www.ickdjs.cc/book_2560685.html
- http://www.ickdjs.cc/book_925952.html
- http://www.ickdjs.cc/book_2839792.html