logo
分类于: 计算机基础 互联网

简介

PostgreSQL查询引擎源码技术探析: 腾讯TDSQL数据库技术专家、MySQL技术专家力荐

PostgreSQL查询引擎源码技术探析: 腾讯TDSQL数据库技术专家、MySQL技术专家力荐 0.0分

资源最后更新于 2020-10-05 18:41:35

作者:李浩

出版社:电子工业出版社

出版日期:2016-01

ISBN:9787121294815

文件格式: pdf

标签: 数据库 PostgreSQL 计算机 database 编译原理 postgresql SQL DEV

简介· · · · · ·

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

《PostgreSQL查询引擎源码技术探析》适合从事数据库领域相关研究人员、高等院校相关专业高年级本科生或研究生阅读,也可作为高等院校的数据库原理课程的有益补充,还可作为业界数据库相关人员的案头图书。《PostgreSQL查询引擎源码技术探析》有助于读者理解数据查询引擎内核的技术内幕。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

第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