
内容介绍
《精通oracle sql 第2版》语言精炼、风趣,所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并分享大量实用性建议,且总结出方方面面的“技巧”,帮助读者在阅读过程中快速消化所看内容。新版针对Oracle12c进行了大幅修订,以反映技术的较新发展动态。本书旨在为Oracle数据库开发人员、DBA和架构师分享参考。不建议入门新手阅读本书。
章节目录
第1章 SQL核心1.1 SQL语言1.2 数据库的接口1.3 SQL*Plus回顾1.3.1 连接到数据库1.3.2 配置SQL*Plus环境1.3.3 执行命令1.4 5个核心的SQL语句1.5 SELECT语句1.5.1 FROM子句1.5.2 WHERE子句1.5.3 GROUP BY子句1.5.4 HAVING子句1.5.5 SELECT列表1.5.6 ORDER BY子句1.6 INSERT语句1.6.1 单表插入1.6.2 多表插入1.7 UPDATE语句1.8 DELETE语句1.9 MERGE语句1.10 小结第2章 SQL执行2.1 Oracle架构基础2.2 SGA共享池2.3 库高速缓存2.4 完全相同的语句2.5 SGA缓冲区缓存2.6 查询转换2.6.1 查询块2.6.2 视图合并2.6.3 子查询解嵌套2.6.4 联结消除2.6.5 排序消除2.6.6 谓词推进2.6.7 使用物化视图进行查询重写2.7 确定执行计划2.8 执行计划并取得数据行2.9 SQL执行--总览2.10 小结第3章 访问和联结方法3.1 全扫描访问方法3.1.1 如何选择全扫描操作3.1.2 全扫描与舍弃3.1.3 全扫描与多块读取3.1.4 全扫描与高水位线3.2 索引扫描访问方法3.2.1 索引结构3.2.2 索引扫描类型3.2.3 索引唯一扫描3.2.4 索引范围扫描3.2.5 索引全扫描3.2.6 索引跳跃扫描3.2.7 索引快速全扫描3.3 联结方法3.3.1 嵌套循环联结3.3.2 排序-合并联结3.3.3 散列联结3.3.4 笛卡儿联结3.3.5 外联结3.4 小结第4章 SQL是关于集合的4.1 以面向集合的思维方式来思考4.1.1 从面向过程转变为基于集合的思维方式4.1.2 面向过程与基于集合的思维方式:例子4.2 集合运算4.2.1 UNION和UNION ALL4.2.2 MINUS4.2.3 INTERSECT4.3 集合与空值4.3.1 空值与非直观结果4.3.2 空值与集合运算4.3.3 空值与GROUP BY和ORDER BY4.3.4 空值与聚合函数4.4 小结第5章 提出问题5.1 问出好的问题5.2 提问的目的5.3 问题的种类5.4 问题的问题5.5 数据的问题5.6 建立逻辑表达式5.7 小结第6章 SQL执行计划6.1 解释计划6.1.1 使用解释计划6.1.2 PLAN_TABLE6.1.3 分解计划6.1.4 导致解释计划未达目的的原因6.1.5 阅读计划6.1.6 访问和筛选谓语6.1.7 使计划便于阅读6.2 执行计划6.2.1 查看最近生成的SQL语句6.2.2 查看相关执行计划6.2.3 收集执行计划统计信息6.2.4 标识SQL语句以便以后取回计划6.2.5 深入理解DBMS_XPLAN6.2.6 使用SQL监控报告6.2.7 使用计划信息解决问题6.3 小结第7章 高级分组7.1 基本的GROUP BY用法7.2 HAVING子句7.3 GROUP BY的"新"功能7.4 GROUP BY的CUBE扩展7.5 CUBE的实际应用7.6 用GROUPING()函数排除空值7.7 用GROUPING()扩展报告7.8 用GROUPING_ID()扩展报告7.9 GROUPING SETS与ROLLUP()7.10 GROUP BY局限性7.11 小结第8章 分析函数8.1 概览8.2 示例数据8.3 分析函数剖析8.4 函数列表8.5 聚合函数8.5.1 跨越整个分区的聚合函数8.5.2 细粒度窗口声明8.5.3 默认窗口声明8.6 lead和lag8.6.1 语法和排序8.6.2 例1:从前一行中返回一个值8.6.3 理解数据行的位移8.6.4 例2:从下一行中返回一个值8.7 first_value和last_value8.7.1 例子:使用first_value计算最大值8.7.2 例子:使用last_value计算最小值8.8 其他分析函数8.8.1 nth_value8.8.2 rank8.8.3 dense_rank8.8.4 row_number8.8.5 ratio_to_report8.8.6 percent_rank8.8.7 percentile_cont8.8.8 percentile_disc8.8.9 NTILE8.8.10 stddev8.8.11 listagg8.9 性能调优8.9.1 执行计划8.9.2 谓词8.9.3 索引8.10 高级话题8.10.1 动态SQL8.10.2 嵌套分析函数8.10.3 并行8.10.4 PGA大小8.11 组织行为8.12 小结第9章 MODEL子句9.1 电子表格9.2 使用MODEL子句实现跨行引用9.2.1 示例数据9.2.2 剖析MODEL子句9.2.3 规则9.3 位置和符号引用9.3.1 位置标记9.3.2 符号标记9.3.3 FOR循环9.4 返回更新后的行9.5 求解顺序9.5.1 行求解顺序9.5.2 规则求解顺序9.6 聚合9.7 迭代9.7.1 示例9.7.2 PRESENTV与空值9.8 查找表9.9 空值9.10 使用MODEL子句进行性能调优9.10.1 执行计划9.10.2 谓词推进9.10.3 物化视图9.10.4 并行9.10.5 MODEL子句执行中的分区9.10.6 索引9.11 子查询因子化9.12 小结第10章 子查询因子化10.1 标准用法10.2 用WITH定义PL/SQL函数10.3 SQL优化10.3.1 测试执行计划10.3.2 测试查询改变的影响10.3.3 寻找其他优化机会10.3.4 将子查询因子化应用到PL/SQL中10.4 递归子查询10.4.1 CONNECT BY示例10.4.2 RSF示例10.4.3 RSF的限制条件10.4.4 与CONNECT BY的不同点10.5 复制CONNECT BY的功能10.5.1 LEVEL伪列10.5.2 SYS_CONNECT_BY_PATH函数10.5.3 CONNECT_BY_ROOT运算符10.5.4 CONNECT_BY_ISCYCLE伪列和NOCYCLE参数10.5.5 CONNECT_BY_ISLEAF伪列10.6 小结第11章 半联结和反联结11.1 半联结11.2 半联结执行计划11.3 控制半联结执行计划11.3.1 使用提示控制半联结执行计划11.3.2 在实例级控制半联结执行计划11.4 半联结限制条件11.5 半联结必要条件11.6 反联结11.7 反联结执行计划11.8 控制反联结执行计划11.8.1 使用提示控制反联结执行计划11.8.2 在实例级控制反联结执行计划11.9 反联结限制条件11.10 反联结必要条件11.11 小结第12章 索引12.1 理解索引12.1.1 什么时候使用索引12.1.2 列的选择12.1.3 空值问题12.2 索引结构类型12.2.1 B-树索引12.2.2 位图索引12.2.3 索引组织表12.3 分区索引12.3.1 局部索引12.3.2 全局索引12.3.3 散列分区与范围分区12.4 与应用特点相匹配的解决方案12.4.1 压缩索引12.4.2 基于函数的索引12.4.3 反转键索引12.4.4 降序索引12.5 管理问题的解决方案12.5.1 不可见索引12.5.2 虚拟索引12.5.3 位图联结索引12.6 小结第13章 SELECT以外的内容13.1 INSERT13.1.1 直接路径插入13.1.2 多表插入13.1.3 条件插入13.1.4 DML错误日志13.2 UPDATE13.2.1 CTAS与UPDATE的差别13.2.2 INSERT APPEND与UPDATE的差别13.3 DELETE13.4 MERGE13.4.1 语法和用法13.4.2 性能比较13.5 小结第14章 事务处理14.1 什么是事务14.2 事务的ACID属性14.3 事务隔离级别14.4 多版本读一致性14.5 事务控制语句14.5.1 Commit(提交)14.5.2 Savepoint(保存点)14.5.3 Rollback(回滚)14.5.4 Set Transaction(设置事务)14.5.5 Set Constraints(设置约束)14.6 将运算分组为事务14.7 订单录入模式14.8 活动事务14.9 使用保存点14.10 序列化事务14.11 隔离事务14.12 自治事务14.13 小结第15章 测试与质量保证15.1 测试用例15.2 测试方法15.2.1 单元测试15.2.2 回归测试15.2.3 模式修改15.2.4 重复单元测试15.3 执行计划比较15.4 性能测量15.4.1 在代码中加入性能测量15.4.2 性能测试15.5 破坏性测试15.6 使用性能测量进行系统检修15.7 小结第16章 计划稳定性16.1 计划不稳定性:理解这个问题16.1.1 统计信息的变化16.1.2 运行环境的改变16.1.3 SQL语句的改变16.1.4 绑定变量窥视16.1.5 自适应游标共享16.2 统计信息反馈16.3 识别执行计划的不稳定性16.3.1 抓取当前运行查询的数据16.3.2 查看语句的性能历史16.3.3 按照执行计划聚合统计信息16.3.4 寻找执行计划的统计方差16.3.5 在一个时间点附近检查偏差16.4 小结第17章 计划控制17.1 执行计划控制:解决问题17.1.1 调整查询结构17.1.2 适当使用常量17.1.3 给优化器一些提示17.2 执行计划控制:不能直接访问代码17.2.1 选项1:改变统计信息17.2.2 选项2:改变数据库参数17.2.3 选项3:增加或移除访问路径17.2.4 选项4:应用基于提示的执行计划控制机制17.2.5 大纲17.2.6 SQL概要文件17.2.7 SQL执行计划基线17.2.8 SQL补丁17.2.9 基于提示的计划控制机理小结17.3 小结第18章 其他SQL结构18.1 条件逻辑结构18.1.1 DECODE18.1.2 CASE18.1.3 NVL、NVL2和COALESCE18.1.4 NULLIF18.2 PIVOT/UNPIVOT查询18.2.1 PIVOT18.2.2 UNPIVOT18.3 生成测试数据的SQL18.3.1 想要得到什么样的数据18.3.2 CONNECT BY18.3.3 MODEL子句18.3.4 递归WITH子句18.3.5 数据生成小结18.4 小结
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读>
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验