首页 > 编程知识 正文

oracle数据库性能优化方法,数据库oracle

时间:2023-05-03 20:18:42 阅读:20179 作者:1323

基于成本的甲骨文优化法则是全球甲骨文大师愚蠢的汉堡Jonathan Lewis的最新力作。 该书从专家的角度深入分析和介绍了oracle系统基于成本的优化模型。 通过学习本书,可以了解优化器的“思考”、错误如何发生以及导致错误的数据模式,从而节约设计和SQL错误检查的成本

内容简介《基于成本的Oracle优化法则》数据库领域超畅销书,是近年来甲骨文领域最重要的著作之一,荣获2006年度甲骨文杂志编辑评选大奖。 这本书出版以来,受到无数读者、网民、专家的好评,被翻译成多种语言,成为许多中高级甲骨文用户、数据库管理员、开发者的必读图书。

本书共第14章,依次涵盖以下主题。

表格扫描:虽然比较简单,但作为入门介绍了CPU成本计算的相关知识。

简单选择率:虽然只有一个表,但是包含很多关于算法的知识。

简单的b树索引: 1块读取和多个块读取的区别。

聚类因子:这可能是索引中最重要的特性。

更微妙的选择率:介绍很多基本主题的小变化。

直方图(介绍了为什么需要直方图,OLTP和DSS/DW的区别。

位图索引:不是所有索引都相同。

变换:不一定能得到看到的东西。

连接:以4章整体内容介绍2个表之间的连接。

10053跟踪:演示示例。

上报问题(从本书其余部分整理的警告和注意信息的集合。

章目录

第一章成本含义1

1.1优化选项2

1.2成本定义3

1.3转换和成本计算5

1.4不一定能得到诊断意见8

1.5本章总结8

1.6测试用例8

第2章表格扫描9

2.1入门10

2.2提高14

2.2.1块大小的影响14

2.2.2 CPU成本计算16

2.2.3 CPU成本核算的作用22

2.3 BCHR24

2.4并行执行27

2.5索引高速全扫描30

2.6分区32

2.7本章总结37

2.8测试用例37

第三章单表选择率39

3.1入门40

3.2空值42

3.3使用清单43

3.4区间谓词48

3.5谓词52

3.6关于复数谓词的问题54

3.7本章总结56

3.8测试用例57

第4章简单的b树访问59

4.1索引成本计算基础知识60

4.2入门61

4.2.1有效索引选择率63

4.2.2有效表选择率64

4.2.3 clustering_factor65

4.2.4综合计算67

4.2.5扩展算法68

4.2.6 3个选择率74

4.3 CPU成本计算78

4.4未处理的碎片问题80

4.5本章总结81

4.6测试用例81

第五章聚类因子83

5.1基本范例84

5.1.1减少表格冲突

(多个自由列表) 86

5.1.2减少叶块冲突(反转键

索引,恢复密钥索引(89

5.1.3减少表格冲突(ASSM ) 92

5.1.4减少RAC上的竞争

(自由列表组) 95

5.2排序96

5.3额外列99

5.4修改统计信息101

5.4.1 sys_op_countchg ()技术101

5.4.2非正式战略105

5.5未处理的碎片问题106

5.6本章总结107

5.7测试用例107

第六章关于选择率的问题109

6.1不同的数据类型110

6.1.1日期类型110

6.1.2字符类型110

6.1.3愚蠢数据类型112

6.2零领先116

6.3致命默认值117

6.4离散数据的风险119

6.5惊人的sysdate123

6.6函数表示125

6.7相互关联的分列126

6.7.1动态采样129

6.7.2优化配置文件132

6.8传递闭包133

6.9生成约束条件的谓词136

6.10本

章小结139

6.11 测试用例139

第7章 直方图141

7.1 入门142

7.2 普通直方图147

7.2.1 直方图和绑定变量147

7.2.2 Oracle何时忽略直方图149

7.3 频率直方图152

7.3.1 伪造频率直方图155

7.3.2 注意事项156

7.4 “高度均衡”直方图157

7.5 重新审视数据问题163

7.5.1 愚蠢的数据类型163

7.5.2 危险的默认值166

7.6 本章小结167

7.7 测试用例168

第8章 位图索引169

8.1 入门170

8.1.1 索引组件174

8.1.2 表组件175

8.2 位图合并177

8.2.1 较低的基数179

8.2.2 空值列182

8.3 CPU成本计算185

8.4 一些有趣的示例186

8.4.1 多列索引187

8.4.2 位图连接索引187

8.4.3 位图转换188

8.5 本章小结191

8.6 测试用例192

第9章 查询变换193

9.1 入门194

9.2 过滤197

9.2.1 过滤优化200

9.2.2 标量子查询202

9.2.3 子查询分解208

9.2.4 复杂视图合并213

9.2.5 推入谓词215

9.3 一般子查询216

9.3.1 子查询参数218

9.3.2 分类219

9.3.3 半连接224

9.3.4 反连接226

9.3.5 反连接异常228

9.3.6 Null和Notin229

9.3.7 有序提示231

9.4 星型变换连接232

9.5 星型连接237

9.6 展望239

9.7 本章小结240

9.8 测试用例241

第10章 连接基数243

10.1 基本的连接基数244

10.2 实际SQL的连接基数249

10.3 扩展和异常情况252

10.3.1 使用范围的连接252

10.3.2 不等于253

10.3.3 重叠256

10.3.4 直方图257

10.3.5 传递闭包260

10.4 三表连接264

10.5 空值267

10.6 实现问题270

10.7 困难之处274

10.8 特性276

10.9 另一观点278

10.10 本章小结279

10.11 测试用例279

第11章 嵌套循环281

11.1 基本机制282

11.2 实际示例286

11.3 完备性检查287

11.4 本章小结291

11.5 测试用例291

第12章 散列连接293

12.1 入门294

12.1.1 最优散列连接297

12.1.2 一遍散列连接299

12.1.3 多遍散列连接304

12.2 追踪文件308

12.2.1 event 10104308

12.2.2 event 10053309

12.3 难点311

12.3.1 传统成本计算311

12.3.2 现代成本计算312

12.4 比较313

12.5 多表连接318

12.6 本章小结321

12.7 测试用例321

第13章 排序与归并连接323

13.1 入门324

13.1.1 内存的使用329

13.1.2 CPU的使用330

13.1.3 sort_area_retained_size333

13.1.4 pga_aggregate_target334

13.1.5 实际I/O337

13.2 排序的成本339

13.3 比较343

13.4 归并连接346

13.4.1 归并机制347

13.4.2 无最初排序的归并连接351

13.4.3 笛卡尔归并连接352

13.5 聚集及其他354

13.5.1 索引358

13.5.2 集合运算359

13.6 最后一次提醒363

13.7 本章小结365

13.8 测试用例366

第14章 10053 trace文件367

14.1 查询368

14.2 执行计划369

14.3 环境370

14.4 追踪文件371

14.4.1 参数设置372

14.4.2 查询块375

14.4.3 存储统计信息376

14.4.4 单表378

14.4.5 完备性检查379

14.4.6 一般计划380

14.4.7 Join order[1]380

14.4.8 Join order[2]386

14.4.9 Join order[3]387

14.4.10 Join order[4]388

14.4.11 Join order[5]388

14.4.12 Join order[6]392

14.4.13 Join order[7]392

14.4.14 Join order[8]395

14.4.15 Join order[9]397

14.4.16 Join order[10]398

14.4.17 Join order[11]398

14.4.18 Join order[12]401

14.4.19 Join order[13]404

14.4.20 Join order[14]405

14.4.21 Join order[15]406

14.4.22 Join order[16]407

14.4.23 Join order[17]407

14.4.24 Join order[18]409

14.5 连接评估小结410

14.6 测试用例413

附录A 升级问题415

A.1 dbms_stats416

A.2 频率直方图417

A.3 CPU成本计算417

A.4 舍入误差417

A.5 绑定变量窥视418

A.6 连接间的空值418

A.7 B树到位图的转换418

A.8 索引跳跃扫描419

A.9 AND-Equal419

A.10 索引散列连接420

A.11 修正的In-List420

A.12 传递闭包420

A.13 sysdate算术修正421

A.14 对空值的索引422

A.15 pga_aggregate_target422

A.16 排序422

A.17 分组423

A.18 完备性检查423

A.19 超出界限的情况423

A.20 关于类型423

A.21 optimizer_mode424

A.22 降序索引424

A.23 复杂视图合并424

A.24 非嵌套子查询424

A.25 标量和过滤子查询425

A.26 并行查询策略的两次变化425

A.27 动态采样425

A.28 临时表425

A.29 字典统计426

附录B 优化器参数427

B.1 optimizer_features_enable428

B.2 10053 trace文件430

B.3 v$sql_optimizer_env435

使用说明1、下载并解压,得出pdf文件

2、如果打不开本文件,请务必下载pdf阅读器

3、安装后,在打开解压得出的pdf文件

4、双击进行阅读

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。