精通Oracle SQL-(第2版)

精通Oracle SQL-(第2版)

作者:莫顿

出版社:人民邮电出版社

出版年:2014-05-01

评分:5分

ISBN:9787115351661

所属分类:网络科技

书刊介绍

精通Oracle SQL-(第2版) 内容简介

《精通oracle sql(第2版)》由oracle 数据库领域**技术组织oaktable成员倾力打造,第1版热卖,读者好评如潮。书中主要介绍了如何掌握在oracle数据库中实现的强大sql特性,所涵盖的内容涉及sql核心、sql执行、分析函数、联结、测试与质量保证等,并提供了大量实用的建议,总结出方方面面的“技巧”,帮助读者快速消化重要知识点。新版将数据库版本升级到12c,对旧版进行了大幅修订,并阐述了很多新特性。 作为oracle sql经典著作,《精通oracle sql(第2版)》为sql开发人员指明了前行方向,赋予了他们不断开拓的动力。

精通Oracle SQL-(第2版) 本书特色

《精通oracle sql(第2版)》语言精炼、风趣,所涵盖的内容涉及sql核心、sql执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”,帮助读者在阅读过程中快速消化所看内容。新版针对oracle 12c进行了大幅修订,以反映技术的*新发展动态。 《精通oracle sql(第2版)》旨在为oracle数据库开发人员、dba和架构师提供参考。

精通Oracle SQL-(第2版) 目录

第1章sql核心
1.1sql语言
1.2数据库的接口
1.3sql*plus回顾
1.3.1连接到数据库
1.3.2配置sql*plus环境
1.3.3执行命令
1.45个核心的sql语句
1.5select语句
1.5.1from子句
1.5.2where子句
1.5.3group by子句
1.5.4having子句
1.5.5select列表
1.5.6order by子句
1.6insert语句
1.6.1单表插入
1.6.2多表插入
1.7update语句
1.8delete语句
1.9merge语句
1.10小结
第2章sql执行
2.1oracle架构基础
2.2sga共享池
2.3库高速缓存
2.4完全相同的语句
2.5sga缓冲区缓存
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.9sql执行——总览
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.1union和union all
4.2.2minus
4.2.3intersect
4.3集合与空值
4.3.1空值与非直观结果
4.3.2空值与集合运算
4.3.3空值与group by和order by
4.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.2plan_table
6.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_xplan
6.2.6使用sql监控报告
6.2.7使用计划信息解决问题
6.3小结
第7章高级分组
7.1基本的group by用法
7.2having子句
7.3group by的“新”功能
7.4group by的cube扩展
7.5cube的实际应用
7.6用grouping()函数排除空值
7.7用grouping()扩展报告
7.8用grouping_id()扩展报告
7.9grouping sets与rollup()
7.10group by局限性
7.11小结
第8章分析函数
8.1概览
8.2示例数据
8.3分析函数剖析
8.4函数列表
8.5聚合函数
8.5.1跨越整个分区的聚合函数
8.5.2细粒度窗口声明
8.5.3默认窗口声明
8.6lead和lag
8.6.1语法和排序
8.6.2例1:从前一行中返回一个值
8.6.3理解数据行的位移
8.6.4例2:从下一行中返回一个值
8.7first_value和last_value
8.7.1例子:使用first_value计算*大值
8.7.2例子:使用last_value计算*小值
8.8其他分析函数
8.8.1nth_value
8.8.2rank
8.8.3dense_rank
8.8.4row_number
8.8.5ratio_to_report
8.8.6percent_rank
8.8.7percentile_cont
8.8.8percentile_disc
8.8.9ntile
8.8.10stddev
8.8.11listagg
8.9性能调优
8.9.1执行计划
8.9.2谓词
8.9.3索引
8.10高级话题
8.10.1动态sql
8.10.2嵌套分析函数
8.10.3并行
8.10.4pga大小
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.3for循环
9.4返回更新后的行
9.5求解顺序
9.5.1行求解顺序
9.5.2规则求解顺序
9.6聚合
9.7迭代
9.7.1示例
9.7.2presentv与空值
9.8查找表
9.9空值
9.10使用model子句进行性能调优
9.10.1执行计划
9.10.2谓词推进
9.10.3物化视图
9.10.4并行
9.10.5model子句执行中的分区
9.10.6索引
9.11子查询因子化
9.12小结
第10章子查询因子化
10.1标准用法
10.2用with定义pl/sql函数
10.3sql优化
10.3.1测试执行计划
10.3.2测试查询改变的影响
10.3.3寻找其他优化机会
10.3.4将子查询因子化应用到pl/sql中
10.4递归子查询
10.4.1connect by示例
10.4.2rsf示例
10.4.3rsf的限制条件
10.4.4与connect by的不同点
10.5复制connect by的功能
10.5.1level伪列
10.5.2sys_connect_by_path函数
10.5.3connect_by_root运算符
10.5.4connect_by_iscycle伪列和nocycle参数
10.5.5connect_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.1b-树索引
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.1insert
13.1.1直接路径插入
13.1.2多表插入
13.1.3条件插入
13.1.4dml错误日志
13.2update
13.2.1ctas与update的差别
13.2.2insert append与update的差别
13.3delete
13.4merge
13.4.1语法和用法
13.4.2性能比较
13.5小结
第14章事务处理
14.1什么是事务
14.2事务的acid属性
14.3事务隔离级别
14.4多版本读一致性
14.5事务控制语句
14.5.1commit(提交)
14.5.2savepoint(保存点)
14.5.3rollback(回滚)
14.5.4set transaction(设置事务)
14.5.5set 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.3sql语句的改变
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.6sql概要文件
17.2.7sql执行计划基线
17.2.8sql补丁
17.2.9基于提示的计划控制机理小结
17.3小结
第18章其他sql结构
18.1条件逻辑结构
18.1.1decode
18.1.2case
18.1.3nvl、nvl2和coalesce
18.1.4nullif
18.2pivot/unpivot查询
18.2.1pivot
18.2.2unpivot
18.3生成测试数据的sql
18.3.1想要得到什么样的数据
18.3.2connect by
18.3.3model子句
18.3.4递归with子句
18.3.5数据生成小结
18.4小结

精通Oracle SQL-(第2版) 相关资料

“本书讲述清晰,可操作性强,是一本难得的oracle sql教程。”
——nocoug(北加州oracle用户组)杂志
“本书作者全部是oaktable的成员,oracle开发经验丰富。在研究一些被其他专门讨论oracle sql语言的参考书直接忽略的问题时,这种对oracle数据库的长期钻研无疑是一个巨大的优势。”
——亚马逊读者评论

精通Oracle SQL-(第2版) 作者简介

Karen Morton,研究人员、教育家及顾问,Fidelity信息服务公司资深数据库管理员和性能调优专家。她从20世纪90年代初就开始使用Oracle,从事Oracle教学工作也已经超过10年的时间。她是Oracle ACE和OakTable的成员,经常在技术会议上演讲。她的著作还包括Expert Oracle Practices和Beginning Oracle SQL。Kerry Osborne,Enkitec公司(提供Oracle咨询服务)联合创始人。从1982年开始使用Oracle(第2版)。他当过开发人员,也做过DBA,目前是Oracle ACE总监和OakTable成员。最近几年,他专注于研究Oracle内部原理以及解决性能问题。Robyn Sands,思科公司软件工程师,为思科客户设计开发嵌入式Oracle数据库产品。从1996年开始使用Oracle,在应用开发、大型系统实现以及性能评估方面具有丰富的经验。她是OakTable的成员,同时是Expert Oracle Practices 一书的合著者。Riyaj Shamsudeen,OraInternals(专注于性能/数据恢复/电子商务的咨询公司)董事长、首席数据库管理员。有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。Jared Still,从1994年就开始使用Oracle。他认为对于SQL的学习是永无止境的,相信只有精通SQL语言才能写出查询Oracle数据库的高效语句。他参与本书的编写就是为了帮助别人实现这一目标。

相关推荐

微信二维码