第一章 PostgreSQL 系统概述
简单描述PostgreSQL的来源、特性和应用。
要用的话,可以看看数据库的具体命令。
第二章 PostgreSQL的体系结构
五大部分组成:
1、连接管理系统(对操作请求进行处理和分发)
2、编译执行系统(实现在物理存储介质中数据的操作)
3、存储管理系统(由索引管理器、内存管理器、外存管理器组成,存储和管理物理数据)
4、事务系统(对并发访问数据的一致性支持)
5、系统表(管理元数据信息)
第五章 查询编译
作用:数据库操作主要就是增删查改,但这些操作都是会离不开到查询这一步骤的,所以尽可能通过底层的编译优化查询时间,可以使得所有操作时间大大缩短。
查询编译是数据库一个非常重要的组件。通过此组件,用户提交的SQL语句可以生成数据库中最优执行计划。
当PostgreSQL的后台程序接收到查询请求后,首先会将其转发给查询分析模块(词法,语法和语义分析),筛选语句的类型,如果是建表、创建用户、备份等命令,则转发给Utility功能性命令处理模块进行处理。但是对于较为复杂的处理(INSERT、UPDATE、DELETE、SELECT)则需要为其构建查询树,然后进行查询的重写,生成新的查询树。然后根据动态规划或遗传算法,根据每个算子的代价获得最优的执行计划。最后去执行。
查询分析、查询重写这些都是编译原理里面学过的内容,属于非常底层的内容,所以就跳过了,师兄的那个思维导图也非常清晰。