PostgreSQL执行器性能(二)

本文介绍了执行器中规划树和状态树的概念及其作用。规划树由规划节点构成,用于描述目标列表和条件;状态树则包含执行器的状态节点,用于实际执行过程。两棵树通过指针关联,确保规划树的只读性,简化缓存和重用流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是我在阅读执行器说明的一些内容,我想这对于阅读执行器的源代码还是有所帮助的。如果有什么写的不对的,请大家提出来帮忙修改一下。(主要来源于源代码说明)

规划树和状态树

规划树和状态树是执行器运行和处理所涉及的主要数据结构。

规划树是一棵包含了规划节点的树(结构节点源于结构规划),它是由规划器传递而来的。每一个规划节点都有与之相对应的表达树,用来描述它的目标列表、符合条件等。在执行器启动期间,我们建一棵与之相对应的结构相同的树,这棵树包含了执行器的状态节点——每个规划和表达节点都有与之相对应的执行器状态节点。状态树中的每一个节点都有一个指向规划树中对应节点的指针,并加上了该类型节点需要完成的执行器状态数据。这个安排允许规划树如同被涉及的执行器一样完全是只读的:所有数据仅当在状态树执行期间可以被修改。只读规划树使得规划缓存和重用的过程变得更为简单。

总的来说,在这些树中使用到的有四类节点:规划节点、与它们相对应的规划状态节点、计算表达式节点和与它们相对应的计算表达式状态节点。(实际上,这里也有列表节点,它们一般被看作为四种树之间“粘贴剂”。)

 

 

姓名:吴冰 主题:执行器

 

转载于:https://www.cnblogs.com/tjdx415/archive/2010/01/19/1651788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值