PostgreSQL内核-Portal策略选择机制详解.pptx

;;查询执行器框架;Portal模块 也称为策略选择模块,根据sql语句类型选择不同执行模块 (ProcessUtility和Executor模块) 该部分完成了对于查询编译器输出数据的解析,选择预先设定好的执行流程。 Sql语句的分类: ? 可优化语句 ? 数据定义语 句;可优化语句: ?主要包括DML语句,这类语句特点是需要查询满足条件的元组 , 然后返回给用户或者在元组上进行某些操作后写回到磁盘上。 由于在执行计划树的生成过程中会根据查询优化理论进行重写和优化,以 加快查询速度,因此,这类语句被称为可??化语句。 ?DML:insert/update/delete/select语句 数据定义语句: ?主要是功能性语句,这类语句包含查询数据元组以外的各种 操作 ?DDL:Create table、Drop table、Alter table等 ?DCL:Grant语句、Revoke语句等 两者编译后输入到执行器的结构不同: ?可优化语句编译后输入到执行器的结构为执行计划树 PlannedStmt ?数据定义语句编译后输入到执行器的结构为非计划树类型(如 T_ViewStmt);根据查询编译器给出的查询计划树链表来为当前查询选择五种执行策略。在这个过程中,执行策略 选择器会使用数据结构PortalData来存储查询计划树链表以及最后选中的执行策略等信息,我们通 常也把这个

文档评论(0)

1亿VIP精品文档

相关文档