PostgreSQL查询引擎源码技术探析
图书信息
| 作者 | 李浩 |
| 出版社 | 电子工业出版社 |
| ISBN | 9787121294815 |
| 出版时间 | 2016-08-01 |
| 字数 | 18.6万 |
| 分类 | 科技,计算机,网络,计算机理论与教程 |
读书简介
PostgreSQL作为当今*的源关系型数据库,本书揭示PostgreSQL查询引擎运行原理和实现技术细节,其中包括:基础数据结构;SQL词法语法分析及查询语法树;查询分析及查询重写;子连及子查询处理;查询访问路径创建;查询计划生成,等等。以深浅出的方式讨论每个主题并结合基础数据结构、图表、源码等对所讨论的主题行详细分析,以使读者对PostgreSQL查询引擎的运行机制及实现细节能有全面且深的认识。
目录
内容简介
前言
第1章 PostgreSQL概述
1.1 概述
1.2 查询语句优化
1.2.1 工具类语句
1.2.2 查询类语句的处理
1.3 创建查询计划
1.4 小结
第2章 基表数据结构
2.1 概述
2.2 数据结构
2.2.1 查询树Query
2.2.2 Select型查询语句SelectStmt
2.2.3 目标列项TargetEntry
2.2.4 From…Where…语句FromExpr
2.2.5 范围表项RangeTblEntry/RangeTblRef
2.2.6 Join表达式JoinExpr
2.2.7 From语句中的子查询RangeSubSelect
2.2.8 子链接SubLink
2.2.9 子查询计划SubPlan
2.2 小结
2.3 思考
第3章 查询分析
3.1 概述
3.2 问题描述
3.3 词法分析和语法分析(Lex&Yacc)
3.3.1 概述
3.3.2 词法分析器Lex
3.3.3 语法分析器Yacc
3.3.4 小结
3.3.5 思考
3.4 抽象查询语法树AST
3.5 查询分析
3.5.1 概述
3.5.2 查询分析—parse_analyze
3.5.3 查询语句分析—transformStmt
3.6 查询重写
3.6.1 概述
3.6.2 查询重写——pg_rewrite_query
3.7 小结
3.8 思考
第4章 查询逻辑优化
4.1 概述
4.2 预处理
4.2.1 xxx_xxx_walker/mutator的前世今生
4.2.3 对xxx_xxx_walker/mutator的思考
4.3 查询优化中的数据结构
4.3.1 数据结构
4.3.2 小结
4.3.3 思考
4.4 查询优化分析
4.4.1 逻辑优化——整体架构介绍
4.4.2 子查询优化——subquery_planner
4.4.3 创建分组等语句查询计划—grouping_planner
4.4.4 创建查询访问路径—query_planner
4.4.5 小结
4.4.6 思考
第5章 查询物理优化
5.1 概述
5.2 所有可行查询访问路径构成函数make_one_rel
5.2.1 设置基表的物理参数
5.2.2 基表大小估计—set_rel_size
5.2.3 寻找查询访问路径——set_base_rel_pathlists
5.2.4 添加查询访问路径—add_path
5.2.5 求解Join查询路径—make_rel_from_joinlist
5.2.6 构建两个基表之间连接关系—make_join_rel
5.2.7 构建连接关系—build_join_rel
5.3 小结
5.4 思考
第6章 查询计划的生成
6.1 查询计划的产生
6.2 生成查询计划—create_plan/create_plan_recurse
6.2.1 构建Scan类型查询计划——create_scan_plan
6.2.2 构建Join类型查询计划——create_join_plan
6.3 查询计划的阅读
6.4 小结
6.5 思考
第7章 其他函数与知识点
7.1 AND/OR规范化
7.2 常量表达式的处理—eval_const_expressions
7.3 Relids的相关函数
7.4 List的相关函数
7.5 元数据表Meta Table
7.6 查询引擎相关参数配置
结束语
- 00后整顿职场指南(赵雪)
- 分开以后我变成了你喜欢的样子(Josie乔)
- 物联网与智慧城市(邵泽华)
- 第11集 趋势定位:如何从消费市场往创业市场和资本市场转型(此商品为视频课程)(周导)
- 侯大利刑侦笔记8:旧案寻踪(集侦查学、痕迹学、社会学、尸体解剖学、犯罪心理学的教科书式破案小说)(读客知识小说文库)(小桥老树)
- 大学生初涉职场一本通(第2版)(杨添天 主编)
- 赢在思维——初中化学拉分题专项集训300题(9年级+中考)(彭嘉全)
- 交易圣经((澳)布伦特·奔富)
