PostgreSQL数据库查询执行——执行引擎元组TupleTableSlot

TupleTableSlot:元组在执行器节点之间传递的通用封装

概要

PostgreSQL使用元组存储所有信息,包括各种系统信息、数据等。因此,对于元组的处理就成为一个必不可少的操作。存储模元组词语块提供了很好的元组(HeapTuple)定义和操作接口,但该结构是面向物理元组的,结构解析和构造开销较大,不能满足执行器高效其它处理元组的需求。执行器在执行过程中需要进行投影和属性选择判断,此时需要快初始化游戏启动器失败速获取元组的数据。另外,Hash、Mate其它垃圾包括哪些垃圾rial等节初始化电脑时出现问题未进行更改点缓存元组时,要求其它和其他的用法区别元组体积更小,以节省存储空间。显然用于表示物理元组的结构HeapTuple已经无法满足这些需求。为了节省元组占用的存储空间,P元组和列表的区别ostgreSQL中定义了MinimalTuple结构,去掉了HeapTuple结构中的事元组中的元素只能是同一数据类型务相关信息。
为了能够统一地表示和物理各种形式的元组,执行器定义了数据结构TupleTableSlot结构和相关的处理函数,以便执行过程中按照需要使用相其它垃圾应形式的元组其它平书网大全进行处理,并支持各种形式之间的转换。执行器将物理其它垃圾元组存储于TupleTableSlot组成的数组中,该数组称为初始化sdk什么意思元组表Tuple Table。在初始化过程中,统计所有计划节点的元组的特点需求,为其分配足够数量的TupleTableSlot,建立Tuple Table,并存储于Estate结构的es_tupleTable字段中。在初始化每个节点时,节点会根据自身需求申请分配TupleTableSlot初始化是什么意思结构,用于存储节点的输出初始化失败是怎么解决元组、扫描到的元组等。执行完成后在清理过程中会统初始化英文一释放Tuple Tabl其它和其他的用法区别e中的所有元组。

TupleTableData和TupleTableSlot数据结构

拓展知识:
在Greenplum中TupleTableSlot以统一的形式表示元元组中的元素只能是同一数据类型组,而元组在不同初始化sdk什么意思执行器节点中需要不同的存初始化是什么意思储形态

  • HEAP表使用HeapTupl数据漫游e以及与磁盘页对应的共享内存
  • AO表和CO表使用的MemTuple
  • 物化、拷贝时使用的最小化物理元组
  • 虚拟元组VirtualTuple