注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库PostgreSQL查询引擎源码技术探析

PostgreSQL查询引擎源码技术探析

PostgreSQL查询引擎源码技术探析

定 价:¥79.00

作 者: 李浩
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121294815 出版时间: 2016-08-01 包装:
开本: 16开 页数: 340 字数:  

内容简介

  PostgreSQL作为当今最先进的开源关系型数据库,本书揭示PostgreSQL查询引擎运行原理和实现技术细节,其中包括:基础数据结构;SQL词法语法分析及查询语法树;查询分析及查询重写;子连接及子查询处理;查询访问路径创建;查询计划生成,等等。以深入浅出的方式讨论每个主题并结合基础数据结构、图表、源码等对所讨论的主题进行详细分析,以使读者对PostgreSQL查询引擎的运行机制及实现细节能有全面且深入的认识。

作者简介

  李浩,具有多年软件开发经验,现任职于北大方正信息产业集团基础软件中心(上海)担任数据库架构师,主要负责查询引擎查询优化方面工作。曾参与方正智睿系列数据库研发,主要负责查询引擎模块的设计和开发,并拥有数十项发明专利。主要研究兴趣包括:查询引擎、大规模并行处理系统(MPP)及SQL on Hadoop相关系统。

图书目录

第1章 PostgreSQL概述 1
1.1 概述 1
1.2 查询语句优化 3
1.2.1 工具类语句 4
1.2.2 查询类语句的处理 5
1.3 创建查询计划 8
1.4 小结 8
第2章 基表数据结构 10
2.1 概述 10
2.2 数据结构 10
2.2.1 查询树Query 11
2.2.2 Select型查询语句SelectStmt 13
2.2.3 目标列项TargetEntry 15
2.2.4 From…Where…语句FromExpr 16
2.2.5 范围表项RangeTblEntry/RangeTblRef 16
2.2.6 Join表达式JoinExpr 18
2.2.7 From语句中的子查询RangeSubSelect 19
2.2.8 子链接SubLink 20
2.2.9 子查询计划SubPlan 22
2.2 小结 23
2.3 思考 24
第3章 查询分析 25
3.1 概述 25
3.2 问题描述 25
3.3 词法分析和语法分析(Lex&Yacc) 28
3.3.1 概述 28
3.3.2 词法分析器Lex 28
3.3.3 语法分析器Yacc 30
3.3.4 小结 36
3.3.5 思考 36
3.4 抽象查询语法树AST 37
3.5 查询分析 39
3.5.1 概述 39
3.5.2 查询分析―parse_analyze 40
3.5.3 查询语句分析―transformStmt 42
3.6 查询重写 54
3.6.1 概述 54
3.6.2 查询重写――pg_rewrite_query 54
3.7 小结 55
3.8 思考 56
第4章 查询逻辑优化 57
4.1 概述 57
4.2 预处理 57
4.2.1 xxx_xxx_walker/mutator的前世今生 59
4.2.3 对xxx_xxx_walker/mutator的思考 60
4.3 查询优化中的数据结构 61
4.3.1 数据结构 62
4.3.2 小结 80
4.3.3 思考 81
4.4 查询优化分析 81
4.4.1 逻辑优化――整体架构介绍 82
4.4.2 子查询优化――subquery_planner 88
4.4.3 创建分组等语句查询计划―grouping_planner 142
4.4.4 创建查询访问路径―query_planner 150
4.4.5 小结 195
4.4.6 思考 196
第5章 查询物理优化 198
5.1 概述 198
5.2 所有可行查询访问路径构成函数make_one_rel 200
5.2.1 设置基表的物理参数 202
5.2.2 基表大小估计―set_rel_size 203
5.2.3 寻找查询访问路径――set_base_rel_pathlists 214
5.2.4 添加查询访问路径―add_path 247
5.2.5 求解Join查询路径―make_rel_from_joinlist 255
5.2.6 构建两个基表之间连接关系―make_join_rel 267
5.2.7 构建连接关系―build_join_rel 277
5.3 小结 291
5.4 思考 291
第6章 查询计划的生成 293
6.1 查询计划的产生 293
6.2 生成查询计划―create_plan/create_plan_recurse 293
6.2.1 构建Scan类型查询计划――create_scan_plan 295
6.2.2 构建Join类型查询计划――create_join_plan 300
6.3 查询计划的阅读 305
6.4 小结 308
6.5 思考 308
第7章 其他函数与知识点 310
7.1 AND/OR规范化 310
7.2 常量表达式的处理―eval_const_expressions 314
7.3 Relids的相关函数 316
7.4 List的相关函数 319
7.5 元数据表Meta Table 320
7.6 查询引擎相关参数配置 324
结束语 328

本目录推荐