0 0 0

数据库查询优化器的艺术:原理解析与SQL性能优化.epub

独写情衷
5天前 160
我用夸克网盘分享了「数据库查询优化器的艺术:原理解析与SQL性能优化.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
数据库查询优化器的艺术 作者: 李海翔 出版社: 机械工业出版社 副标题: 原理解析与SQL性能优化 出版年: 2014-1-1 页数: 532 定价: 89 装帧: 平装 丛书: 数据库技术丛书 ISBN: 9787111447467

内容简介

《数据库技术丛书·数据库查询优化器的艺术:原理解析与SQL性能优化》是数据库查询优化领域的里程碑之作,由Oracle公司MySQL全球开发团队、资深专家撰写,作者有10余年数据库内核和查询优化器研究经验。数据库领域泰斗王珊教授亲自作序推荐,PostgreSQL中国社区和中国用户会发起人以及来自Oracle、新浪、网易、华为等企业的数位资深数据库专家联袂推荐。从原理角度深度解读和展示数据库查询优化器的技术细节和全貌;从源码实现角度全方位深入分析MySQL和PostgreSQL两大主流开源数据库查询优化器的实现原理;从工程实践的角度对比了两大数据库的查询优化器的功能异同和实现异同。它是所有数据开发工程师、内核工程师、DBA以及其他数据库相关工作人员值得反复研读的一本书。 《数据库技术丛书·数据库查询优化器的艺术:原理解析与SQL性能优化》共19章,分为四个部分:第一篇(第1~4章)对数据库查询优化技术的范围、逻辑查询优化、物理查询优化,以及查询优化器与其他模块的关系做了非常细致、深入的讲解;第二篇(第5~10章)首先从源码角度对PostgreSQL查询优化器的架构、层次、设计思想、相关数据结构和实现原理进行了深入、系统的分析,然后从功能角度对PostgreSQL的逻辑查询优化、物理查询优化、查询优化器的关键算法,以及PostgreSQL查询优化器与其他模块的关系做了深入的讲解;第三篇(第11~16章)首先从源码角度对MySQL查询优化器的架构、层次、设计思想、相关数据结构和实现原理进行了深入、系统的分析,然后从功能角度对MySQL的逻辑查询优化、物理查询优化、查询优化器的关键算法,以及MySQL查询优化器与其他模块的关系做了深入的讲解;第四篇(第17~19章)对PostgreSQL与MySQL的逻辑查询优化技术、物理查询优化技术、设计思想和编码规范等各方面进行了深度的比较。

作者简介

李海翔,网名“那海蓝蓝”,资深数据库专家,从事数据库研发、数据库测试与技术管理等工作10余年,对数据库的内核有深入的研究,长于PostgreSQL和MySQL等开源数据库的内核与架构。现任职于Oracle公司MySQL全球开发团队,从事查询优化技术的研究和MySQL查询优化器的开发工作。曾参与了863、核高基、工信部、科技部、发改委、北京市科委等多个重大科技项目。2005年获得北京市科学技术进步奖一等奖,2006年获高级工程师(系统分析师)。

网友热评

醉红自暖: 介绍了数据库查询优化的方法,主要从逻辑查询优化和物理查询优化两个方面总结了查询优化器的两大优化策略。同时以PG和MySQL两大开源DBMS查询优化器的实现为蓝本,介绍并分析了其实现原理、实现过程。 yangong: 对我来说,看第2,3,14章就够了,其他的看不懂 2sin18°: 目前还不涉及太多查询优化的工作,粗略过一遍,以后再细看。

图书目录

推荐序一 推荐序二 前言 第一篇查询优化技术 第1章数据管理系统的查询优化 1.1数据库调优 1.2查询优化技术 1.2.1查询重用 1.2.2查询重写规则 1.2.3查询算法优化 1.2.4并行查询优化 1.2.5分布式查询优化 1.2.6其他优化 1.3本章小结 第2章逻辑查询优化 2.1查询优化技术的理论基础 2.1.1关系代数 2.1.2关系代数等价变换规则对优化的指导意义 2.2查询重写规则 2.2.1子查询的优化 2.2.2视图重写 2.2.3等价谓词重写 2.2.4条件化简 2.2.5外连接消除 2.2.6嵌套连接消除 2.2.7连接消除 2.2.8语义优化 2.2.9针对非SPJ的优化 2.3启发式规则在逻辑优化阶段的应用 2.4本章小结 第3章物理查询优化 3.1查询代价估算 3.1.1代价模型 3.1.2选择率计算的常用方法 3.2单表扫描算法 3.2.1常用的单表扫描算法 3.2.2单表扫描代价计算 3.3索引 3.3.1如何利用索引 3.3.2索引列的位置对使用索引的影响 3.3.3联合索引对索引使用的影响 3.3.4多个索引对索引使用的影响 3.4两表连接算法 3.4.1基本的两表连接算法 3.4.2进一步认识两表连接算法 3.4.3连接操作代价计算 3.5多表连接算法 3.5.1多表连接顺序 3.5.2常用的多表连接算法 3.5.3多表连接算法的比较 3.6本章小结 第4章查询优化器与其他模块的关系 4.1查询优化器整体介绍 4.2查询优化器与其他模块的关系 4.3本章小结 第二篇PostgreSQL查询优化器原理解析 第5章PostgreSQL查询优化器概述 5.1PostgreSQL查询执行过程 5.2PostgreSQL查询优化器的架构和设计思想 5.2.1PostgreSQL查询优化器架构 5.2.2PostgreSQL查询优化器的层次 5.2.3PostgreSQL查询优化器设计思想 5.3主要概念 5.4代码层次结构 5.5本章小结 第6章PostgreSQL查询优化器相关数据结构 6.1主要数据结构 6.1.1基本数据结构 6.1.2查询树 6.1.3各种对象的结构 6.1.4连接操作相关的结构 6.1.5查询执行计划相关的结构 6.2各个结构之间的关系 6.3各个阶段间和主要结构体间的关系 6.4本章小结 第7章PostgreSQL查询优化器实现原理解析 7.1查询优化整体流程 7.2查询优化器实现原理解析 7.2.1planner--主入口函数 7.2.2standard_planner--标准的查询优化器函数 7.2.3subquery_planner--生成(子)查询执行计划函数 7.2.4grouping_planner--生成查询执行计划并对非SPJ优化 7.2.5build_minmax_path--聚集函数MIN/MAX的优化函数 7.2.6query_planner--生成最优的查询路径函数 7.2.7make_one_rel--构造多表连接路径并选出最优路径函数 7.2.8make_rel_from_joinlist--生成多表连接路径函数 7.2.9optimize_minmax_aggregates--聚集操作MIN/MAX优化函数 7.2.10create_plan--创建查询执行计划函数 7.2.11非SPJ处理--grouping_planner的各个子模块 7.2.12其他重要的函数与操作 7.3代价估算实现原理解析 7.3.1查询代价估算 7.3.2单表扫描方式的代价估算 7.3.3两表连接的代价估算 7.3.4其他代价估算函数 7.3.5选择率的计算 7.4从目录结构和文件功能角度看查询优化器 7.4.1查询优化子模块与主要文件的关系 7.4.2查询优化器代码结构 7.5本章小结 第8章从功能的角度看PostgreSQL查询优化 8.1优化器之逻辑查询优化 8.1.1视图重写 8.1.2子查询优化 8.1.3等价谓词重写 8.1.4条件化简 8.1.5外连接消除 8.1.6嵌套连接消除 8.1.7连接的消除 8.1.8语义优化 8.1.9选择操作下推 8.1.10非SPJ优化 8.2优化器之物理查询优化 8.2.1PostgreSQL的物理优化主要完成的工作 8.2.2启发式规则在物理查询优化阶段的使用 8.2.3两表连接 8.2.4代价估算 8.2.5PostgreSQL的索引与查询优化 8.3其他 8.3.1grouping_planner函数主干再分析 8.3.2用户指定的连接语义与PostgreSQL实现两表连接的函数及算法的关系 8.3.3集合操作优化 8.4本章小结 第9章PostgreSQL查询优化的关键算法 9.1动态规划算法 9.1.1动态规划算法的处理流程 9.1.2紧密树处理流程 9.2遗传算法 9.2.1PostgreSQL遗传算法的处理流程 9.2.2主要的数据结构 9.2.3主要的函数和变量 9.2.4应用遗传算法实现表连接的语义 9.2.5应用遗传算法计算适应度 9.2.6进一步理解PostgreSQL的遗传算法 9.3动态规划算法与遗传算法对比 9.4本章小结 第10章PostgreSQL查询优化器与其他部分的关系 10.1查询优化器与语法分析器 10.2查询优化器与执行器 10.3查询优化器与缓冲区管理模块 10.4查询优化器与对象访问模块 10.5查询优化器与统计模块 10.6查询优化器与索引模块 10.7本章小结 第三篇MySQL查询优化器原理解析 第11章MySQL查询优化器概述 11.1MySQL查询执行过程 11.2MySQL查询优化器的架构和设计思想 11.2.1MySQL查询优化器架构 11.2.2MySQL查询优化器的层次 11.2.3MySQL查询优化器设计思想 11.3主要概念 11.3.1常量表 11.3.2表数据的访问方式 11.4代码层次结构 11.5本章小结 第12章MySQL查询优化器相关数据结构 12.1主要的类和数据结构 12.1.1查询树 12.1.2基本对象 12.1.3连接对象与执行计划 12.1.4代价估算类 12.2各个阶段主要结构体间的关系 12.3本章小结 第13章MySQL查询优化器的原理解析 13.1查询优化器整体流程 13.2优化器的代码详解 13.2.1JOIN.prepare--优化前的准备工作 13.2.2JOIN.optimize--优化器主入口方法 13.2.3make_join_statistics--计算最优的查询优化执行计划 13.2.4choose_table_order--求解多表连接最优连接路径 13.2.5make_join_statistics函数的其他子函数 13.2.6make_join_select--对条件求值、下推连接条件到表中 13.2.7test_if_skip_sort_order--排序操作的优化 13.2.8make_join_readinfo--为连接的每个表构造信息 13.2.9JOIN.exec--执行查询执行计划的函数 13.3代价估算 13.3.1查询代价估算模型 13.3.2查询代价估算过程 13.3.3其他的代价估算 13.3.4对存储引擎的调用接口 13.3.5统计信息 13.4本章小结 第14章从功能的角度看MySQL查询优化 14.1优化器之逻辑查询优化 14.1.1视图重写 14.1.2子查询优化 14.1.3等价谓词重写 14.1.4条件化简 14.1.5外连接消除 14.1.6嵌套连接消除 14.1.7连接的消除 14.1.8语义优化 14.1.9非SPJ优化 14.2优化器之物理查询优化 14.2.1MySQL的物理优化主要完成的工作 14.2.2启发式规则在物理查询优化阶段的使用 14.2.3MySQL的索引与查询优化 14.2.4用户指定的连接语义与MySQL实现两表连接的算法 14.3本章小结 第15章MySQL查询优化的关键算法 15.1深入理解MySQL的多表连接算法 15.2本章小结 第16章MySQL查询优化器与其他部分的关系 16.1查询优化器与语法分析器 16.2查询优化器与执行器 16.3查询优化器与缓冲区管理模块 16.4查询优化器与索引模块 16.5本章小结 第四篇PostgreSQL查询优化器VSMySQL查询优化器 第17章PostgreSQL和MySQL的逻辑查询优化技术 17.1查询重写 17.1.1子查询优化 17.1.2视图重写 17.1.3等价谓词重写 17.1.4条件化简 17.1.5外连接消除 17.1.6嵌套连接消除 17.1.7连接消除 17.1.8语义优化 17.2非SPJ的优化 17.3本章小结 第18章PostgreSQL和MySQL的物理查询优化技术 18.1查询代价估算模型比较 18.2单表扫描算法 18.3索引 18.4两表连接算法 18.5多表连接算法 18.6本章小结 第19章PostgreSQL和MySQL的其他异同 19.1启发式规则的使用比较 19.2综合比较 19.2.1基本概念的比较 19.2.2数据结构的比较 19.2.3设计思想的比较 19.2.4编码规范的比较 19.3本章小结 附录A如何掌握数据库内核 附录B如何阅读本书 附录C如何阅读查询执行计划 附录D如何跟踪查询执行计划

数据库查询优化器的艺术:原理解析与SQL性能优化.epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 从安三岁啦
  • 得不到的不如不要
  • 囚人不合
  • lonely孤独
  • 爸爸是我最爱的男人
  • 名牌香烟
  • Fishbone鱼刺
  • 久無歡
  • 回想往事
  • 迷雾森林的卖萌侠
  • 失去你得到了世界又如何
  • 扫兴
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!