大小:284.89M
更新时间:23-08-30
系统:Pc
基于oracle的sql优化是一本数据库优化扛鼎巨著,是本土Oracle数据库性能优化大师崔华泣血力作。全书共有8章,详细的介绍了Oracle里的优化器,Oracle里的执行计划,Oracle里的查询转换,Oracle里的Hint,Oracle里的并行,Oracle里SQL优化的方法论等内容,囊括数据库性能优化技术所有分支与脉络,讲解通俗,实例经典,深入研究这些内容,SQL优化的能力一定会有巨大提升,欢迎广大读者免费下载阅读。
《基于Oracle的SQL优化》是一本与众不同的书,它的目的是使读者真正掌握如何在Oracle数据库里写出高质量的SQL语句,以及如何在Oracle数据库里对有性能问题的SQL做诊断和调整。本书从Oracle处理SQL的本质和原理入手,由浅入深、系统地介绍了Oracle数据库里的优化器、执行计划、Cursor和绑定变量、查询转换、统计信息、Hint和并行等这些与SQL优化息息相关的本质性内容,并辅以大量极具借鉴意义的一线SQL优化实例,阐述了作者倡导的“从本质和原理入手,以不变应万变”的优化思路,最后还介绍了作者在实际工作中总结出来的Oracle数据库里SQL优化的方法论。《基于Oracle的SQL优化》适用于使用Oracle数据库的开发人员、OracleDBA和其他对Oracle数据库感兴趣的人员,也可以作为各院校相关专业的教学辅导和参考用书,或作为相关培训机构的培训教材。
《基于oracle的sql优化》共8章:
第1章“Oracle里的优化器”,详细介绍了Oracle数据库中与优化器相关的各个方面的内容,包括优化器的模式、结果集(RowSource)、集的势(Cardinality)、可选择率(Selectivity)、可传递性(Transitivity)、各种数据访问的方法,以及与表连接相关的内容。
第2章“Oracle里的执行计划”,详细介绍了Oracle数据里与执行计划有关的各个方面的内容,包括执行计划的含义,如何查看执行计划,如何得到目标SQL真实的执行计划,如何查看执行计划的执行顺序,Oracle数据库里各种常见的执行计划的含义,以及如何在Oracle数据库中稳定执行计划。
第3章“Oracle里的Cursor和绑定变量”,详细介绍了Oracle数据库中与Cursor和绑定变量相关的各个方面的内容,包括SharedCursor、SessionCursor、绑定变量、游标共享、硬解析、软解析、软软解析,以及与它们息息相关的Oracle数据库里的四种应用类型。
第4章“Oracle里的查询转换”,详细介绍了Oracle数据库中与查询转换有关的各个方面的内容,包括子查询展开、视图合并、星型转换、连接谓词推入、连接因式分解、表扩展、表移除,以及Oracle如何处理SQL语句中的IN。
第5章“Oracle里的统计信息”,详细介绍了Oracle数据库里与统计信息相关的各个方面的内容,包括Oracle数据库中各种统计信息的分类、含义、收集和查看方法,以及如何在Oracle数据库里正确地收集统计信息。
第6章“Oracle里的Hint”,详细介绍了Oracle数据库中与Hint有关的各个方面的内容,包括什么是Hint,如何用Hint,Hint什么情况下会失效,以及Oracle数据库中常见的各种Hint。
第7章“Oracle里的并行”,详细介绍了Oracle数据库里并行的基本概念以及在Oracle数据库里如何控制并行,包括在Oracle数据库里开启并行、控制并行度等。
第8章“Oracle里SQL优化的方法论”,介绍了在Oracle数据库里如何做SQL优化,提出了我们总结出来的Oracle数据库里SQL优化的方法论,并结合实例验证了上述方法论。
第1章 Oracle 里的优化器 1.1 什么是Oracle 里的优化器 1.1.1 基于规则的优化器 1.1.2 基于成本的优化器 1.1.2.1 集的势 1.1.2.2 可选择率 1.1.2.3 可传递性 1.1.2.4 CBO 的局限性 1.2 优化器的基础知识 1.2.1 优化器的模式 1.2.2 结果集 1.2.3 访问数据的方法 1.2.3.1 访问表的方法 1.2.3.1.1 全表扫描 1.2.3.1.2 ROWID 扫描 1.2.3.2 访问索引的方法 1.2.3.2.1 索引唯一性扫描 1.2.3.2.2 索引范围扫描 1.2.3.2.3 索引全扫描 1.2.3.2.4 索引快速全扫描 1.2.3.2.5 索引跳跃式扫描 1.2.4 表连接 1.2.4.1 表连接的类型 1.2.4.1.1 内连接 1.2.4.1.2 外连接 1.2.4.2 表连接的方法 1.2.4.2.1 排序合并连接 1.2.4.2.2 嵌套循环连接 1.2.4.2.3 哈希连接 1.2.4.2.4 笛卡儿连接 1.2.4.3 反连接 1.2.4.4 半连接 1.2.4.5 星型连接 1.3 优化器模式对CBO 计算成本带来巨大影响的实例 1.4 总结 第2章 Oracle 里的执行计划 2.1 什么是执行计划 2.2 如何查看执行计划 2.2.1 explain plan 命令 2.2.2 DBMS_XPLAN 包 2.2.3 AUTOTRACE 开关 2.2.4 事件与tkprof 命令 2.3 如何得到真实的执行计划 2.4 如何查看执行计划的执行顺序 2.5 Oracle 里的常见执行计划 2.5.1 与表访问相关的执行计划 2.5.2 与B 树索引相关的执行计划 2.5.3 与位图索引相关的执行计划 2.5.4 与表连接相关的执行计划 2.5.5 其他典型的执行计划 2.5.5.1 AND-EQUAL(INDEX MERGE) 2.5.5.2 INDEX JOIN 2.5.5.3 VIEW 2.5.5.4 FILTER 2.5.5.5 SORT 2.5.5.6 UNION/UNION ALL 2.5.5.7 CONCAT 2.5.5.8 CONNECT BY 2.6 Oracle 里执行计划的稳定 2.6.1 使用SQL Profile 来稳定执行计划 2.6.1.1 Automatic 类型的SQL Profile 2.6.1.2 Manual 类型的SQL Profile 2.6.2 使用SPM 来稳定执行计划 2.7 总结 第3章 Oracle 里的Cursor 和绑定变量 3.1 Oracle 里的Cursor 3.1.1 Oracle 里的Shared Cursor 3.1.1.1 Shared Cursor 的含义 3.1.1.2 硬解析 3.1.1.3 软解析 3.1.2 Oracle 里的Session Cursor 3.1.2.1 Session Cursor 的含义 3.1.2.2 Session Cursor 的相关参数解析 3.1.2.2.1 OPEN_CURSORS 3.1.2.2.2 SESSION_CACHED_CURSORS 3.1.2.2.3 CURSOR_SPACE_FOR_TIME 3.1.2.3 Session Cursor 的种类和用法 3.1.2.3.1 隐式游标 3.1.2.3.2 显式游标 3.1.2.3.3 参考游标 3.2 Oracle 里的绑定变量 3.2.1 绑定变量的作用 3.2.2 绑定变量的典型用法 3.2.3 绑定变量的使用原则和最佳实践 3.2.3.1 PL/SQL 批量绑定模板一 3.2.3.2 PL/SQL 批量绑定模板二 3.2.4 绑定变量窥探 3.2.5 绑定变量分级 3.2.6 绑定变量的个数不宜太多 3.2.7 批量绑定时如何处理错误 3.2.8 如何得到已执行的目标SQL 中绑定变量的值 3.3 Oracle 里的游标共享 3.3.1 常规游标共享 3.3.2 自适应游标共享 3.4 Oracle 里的应用类型 3.4.1 Session Cursor 的生命周期 3.4.2 应用类型一(硬解析) 3.4.3 应用类型二(软解析) 3.4.4 应用类型三(软软解析) 3.4.5 应用类型四(一次解析、多次执行) 3.4.6 四种应用类型的实测性能对比 3.5 总结 第4章 Oracle 里的查询转换 4.1 Oracle 里查询转换的作用 4.2 子查询展开 4.3 视图合并 4.3.1 简单视图合并 4.3.2 外连接视图合并 4.3.3 复杂视图合并 4.4 星型转换 4.5 连接谓词推入 4.6 连接因式分解 4.7 表扩展 4.8 表移除 4.9 Oracle 如何处理SQL 语句中的IN 4.9.1 IN-List Iterator 4.9.2 IN-List Expansion / OR Expansion 4.9.3 IN-List Filter 4.9.4 对IN 做子查询展开/视图合并 4.10 查询转换的综合应用实例(逻辑读从200 万降到6) 4.11 总结 第5章 Oracle 里的统计信息 5.1 什么是Oracle 里的统计信息 5.2 Oracle 里收集与查看统计信息的方法 5.2.1 收集统计信息 5.2.1.1 用ANALYZE 命令收集统计信息 5.2.1.2 用DBMS_STATS 包收集统计信息 5.2.1.3 ANALYZE 和DBMS_STATS 的区别 5.2.2 查看统计信息 5.3 表的统计信息 5.3.1 表统计信息的种类和含义 5.3.2 表统计信息不准导致SQL 性能问题的实例 5.4 索引的统计信息 5.4.1 索引统计信息的种类和含义 5.4.2 聚簇因子的含义及重要性 5.5 列的统计信息 5.5.1 列统计信息的种类和含义 5.5.2 列统计信息不准导致谓词越界的实例 5.5.3 直方图 5.5.3.1 直方图的含义 5.5.3.2 直方图的类型 5.5.3.2.1 Frequency 类型的直方图 5.5.3.2.2 Height Balanced 类型的直方图 5.5.3.3 直方图的收集方法 5.5.3.4 直方图对CBO 的影响 5.5.3.4.1 直方图对Shared Cursor 的影响 5.5.3.4.2 直方图对可选择率的影响 5.5.3.5 使用直方图的注意事项 5.6 全局统计信息 5.7 动态采样 5.8 多列统计信息 5.9 系统统计信息 5.10 数据字典统计信息 5.11 内部对象统计信息 5.12 Oracle 里的自动统计信息收集 5.13 Oracle 里应如何收集统计信息 5.14 总结 第6章 Oracle 里的Hint 6.1 什么是Hint 6.2 Hint 的用法 6.3 Hint 被Oracle 忽略的常见情形 6.3.1 情形一:使用的Hint 有语法或者拼写错误 6.3.2 情形二:使用的Hint 无效 6.3.3 情形三:使用的Hint 自相矛盾 6.3.4 情形四:使用的Hint 受到了查询转换的干扰 6.3.5 情形五:使用的Hint 受到了保留关键字的干扰 6.4 常见的Hint 6.4.1 与优化器模式相关的Hint 6.4.1.1 ALL_ROWS 6.4.1.2 FIRST_ROWS(n) 6.4.1.3 RULE 6.4.2 与表访问相关的Hint 6.4.2.1 FULL 6.4.2.2 ROWID 6.4.3 与索引访问相关的Hint 6.4.3.1 INDEX 6.4.3.2 NO_INDEX 6.4.3.3 INDEX_DESC 6.4.3.4 INDEX_COMBINE 6.4.3.5 INDEX_FFS 6.4.3.6 INDEX_JOIN 6.4.3.7 AND_EQUAL 6.4.4 与表连接顺序相关的Hint 6.4.4.1 ORDERED 6.4.4.2 LEADING 6.4.5 与表连接方法相关的Hint 6.4.5.1 USE_MERGE 6.4.5.2 NO_USE_MERGE 6.4.5.3 USE_NL 6.4.5.4 NO_USE_NL 6.4.5.5 USE_HASH 6.4.5.6 NO_USE_HASH 6.4.5.7 MERGE_AJ 6.4.5.8 NL_AJ 6.4.5.9 HASH_AJ 6.4.5.10 MERGE_SJ 6.4.5.11 NL_SJ 6.4.5.12 HASH_SJ 6.4.6 与查询转换相关的Hint 6.4.6.1 USE_CONCAT 6.4.6.2 NO_EXPAND 6.4.6.3 MERGE 6.4.6.4 NO_MERGE 6.4.6.5 UNNEST 6.4.6.6 NO_UNNEST 6.4.6.7 EXPAND_TABLE 6.4.6.8 NO_EXPAND_TABLE 6.4.7 与并行相关的Hint 6.4.7.1 PARALLEL 6.4.7.2 NO_PARALLEL 6.4.7.3 PARALLEL_INDEX 6.4.7.4 NO_PARALLEL_INDEX 6.4.8 其他常见Hint 6.4.8.1 DRIVING_SITE 6.4.8.2 APPEND 6.4.8.3 APPEND_VALUES 6.4.8.4 PUSH_PRED 6.4.8.5 NO_PUSH_PRED 6.4.8.6 PUSH_SUBQ 6.4.8.7 NO_PUSH_SUBQ 6.4.8.8 OPT_PARAM 6.4.8.9 OPTIMIZER_FEATURES_ENABLE 6.4.8.10 QB_NAME 6.4.8.11 CARDINALITY 6.4.8.12 SWAP_JOIN_INPUTS 6.5 用Cardinality Hint 解决ORA-01555 错误的实例 6.6 总结 第7章 Oracle 里的并行 7.1 Oracle 里并行的基本概念 7.1.1 为什么要用并行 7.1.2 并行的理论基础 7.1.3 Oracle 里能够并行执行的操作 7.1.4 Oracle 里与并行有关的术语及解释 7.1.4.1 Query Coordinator 7.1.4.2 Query Slaves 和Query Slave Set 7.1.4.3 Table Queues 7.1.4.4 数据传递方法 7.1.4.5 granules 7.1.4.6 直接读取 7.1.5 深入解析并行执行计划的实例 7.2 Oracle 里并行的控制 7.2.1 Oracle 里如何开启并行 7.2.2 Oracle 里并行度的控制 7.2.3 Oracle RAC 环境下的并行 7.2.4 Oracle 里与并行相关的参数 7.2.4.1 PARALLEL_MAX_SERVERS 7.2.4.2 PARALLEL_MIN_SERVERS 7.2.4.3 自动并行相关的参数 7.2.4.3.1 PARALLEL_DEGREE_POLICY 7.2.4.3.2 PARALLEL_MIN_TIME_THRESHOLD 7.2.4.3.3 PARALLEL_DEGREE_LIMIT 7.2.4.3.4 PARALLEL_SERVERS_TARGET 7.2.4.4 自适应并行相关的参数 7.2.4.4.1 PARALLEL_ADAPTIVE_MULTI_USER 7.2.4.4.2 PARALLEL_MIN_PERCENT 7.2.4.4.3 PARALLEL_AUTOMATIC_TUNING 7.2.4.5 其他参数 7.2.4.5.1 PARALLEL_THREADS_PER_CPU 7.2.4.5.2 PARALLEL_EXECUTION_MESSAGE_SIZE 7.2.4.5.3 PARALLEL_FORCE_LOCAL 7.2.5 绕开Oracle 并行执行Bug 大幅提升性能的实例 7.3 总结 第8章 Oracle 里SQL 优化的方法论 8.1 Oracle 里如何做SQL 优化 8.1.1 Oracle 里SQL 优化的本质是基于对CBO 和执行计划的深刻理解 8.1.2 Oracle 里SQL 优化需要联系实际的业务 8.1.3 Oracle 里SQL 优化需要适时使用绑定变量 8.2 Oracle 里SQL 优化的方法论在实战中的验证 8.3 总结
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
同类热门
类似软件
PDF生成器(PDFCreator)41.9M946人在用PDF生成器(PDFCreator)是一个开源应用程序,支持windows打印功能的任何程序都可以使用它创建PDF文档。使用PDFCreator能够创建PDF文档,Postscript文档,Encapsulated Postscript&nbs
查看ApowerPDF(PDF编辑器)13.58M2136人在用 ApowerPDF是由Apowersoft有限公司开发的一款功能十分强大的PDF编辑器,该软件集PDF阅读、转换、编辑以及分割合并等功能为一体,有着非常简洁明了的操作界面,设计得出人性化。软件为用户提供了多样化的PDF编辑功能,您可以使用它轻松编辑
查看eXPert PDF Reader(免费的PDF阅读器)29M539人在用 eXPert PDF Reader是一款完全免费的PDF阅读器,支持查看和打印PDF文件,修改现有文件,包括修改文件概述,插入图章和修改任何注释等,运行速度快,稳定和个性化的换肤功能以及对中日韩文的良好支持将满足你所有的需求,软件完全免费,操作简单
查看热门标签
网友评论1人参与,1条评论
最新排行
游戏架构设计与策划基础26.42M黄石pdf扫描版游戏架构设计与策划基础是一本游戏开发与策划教材,由黄石、李志远、陈洪三人共同编著。本书主要讲解了游戏相关专业的基础课程,如美术和编程等,然后本书又具体介绍了游戏策划、游戏背景设计、游戏关卡与任务设计、游戏界面与用户控制等一系列游戏策划和架构设计流程,突出
查看同济高等数学第七版上下册pdf电子版11M高清完整版本次小编为大家带来的是高等数学同济第七版pdf下载,这是专为大学生打造高等数学学习图书,由同济大学数学系编写,包括上册和下册,并且是pdf高清版,是依据最新的“工科类本科数学基础课程教学基本要求”,为高等院校工科类各专业学生修订而成的,全书教材结构严谨,
查看Oracle PL/SQL专家指南:高级PL/SQL解决方案的设计与开发37.16M哈德门pdf扫描版Oracle PL/SQL专家指南:高级PL/SQL解决方案的设计与开发是一本Oracle数据库操作指南,由美国程序员哈德门和麦克罗林共同编著。全书内容丰富翔实,主要讲解了统计表收集、PL/SQL优化器、SQL Trace、DBMS STATS及TKPR
查看Spark技术内幕:深入解析Spark内核架构设计与实现原理21.61M张安站pdf扫描版Spark技术内幕:深入解析Spark内核架构设计与实现原理是一本Spark解析实用教学书籍,由张安站编著,全书详细剖析了Spark内核各个模块,以源码为基础,全面分析了Spark内核的各个模块的设计思想和实现原理,深入理解其内部运作机制乃至实现细节,帮
查看grails技术精解与web开发实践106.74M宋友pdf扫描版Grails是一个成功的Web框架,不但具备J2EE和RoR的诸多优点,还解决了RoR不能有效适用于广大Java用户的一大难题。grails技术精解与web开发实践系统讲解了使用Grails技术快速进行Web开发的知识,由宋友、梁士兴等人编著。全书内容结
查看31天学会crm项目开发79.97M代前杰pdf扫描版31天学会crm项目开发是一套CRM项目系统实战手册,由国内企业IT专家代前杰编著。本书内容丰富翔实,是一本很有特色的程序员入门参考用书。全书以企业管理信息系统建设为主题,以客户关系管理系统(CRM)为开发实战项目,使用C#程序语言,从需求分析、方案设计
查看android开发进阶 从小工到专家104.73M何红辉 pdf扫描版android开发进阶 从小工到专家是一本Android开发进阶书籍,由Android工程师何红辉编著。本书结合作者多年开发经验的总结,把作者以前开发走过的坑和陷阱讲解出来,看了以后可以少走很多弯路,提升自己的开发能力很快,抓住开发的痛点和需求讲解内容,
查看软件加密与解密pdf64.48M扫描版软件加密与解密是一本对抗软件盗版、篡改和恶意逆向工程的理论、技巧和工具,由 Christian Collberg和Jasvir Nagra两人共同编著,崔孝晨翻译。本书详尽地介绍了软件加密与解密的相关技术,涵盖了计算机科学的各个相关领域,包括密码学、隐写
查看java web开发实战1200例第i卷150.03Mpdf扫描版附带源码java web开发实战1200例是一本专业介绍java开发的实例图书,由卢瀚、王春斌等编著,全书包括第i卷、第ii卷共计1200个例子,本书是第i卷,拥有600个编程实例,并集练习、速查、应用于一体,更拥有500余经验技巧,解惑、拓展、总结全面透析,让
查看
第1楼 运营商级NATIP地址 网友