本篇内容主要讲解“怎么理解PostgreSQL的分区表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解PostgreSQL的分区表”吧!在PG中,分区表通过”继承”的方式实现,这里就会存在一个问题,就是在插入数据时,PG如何确定数据应该插入免费主机域名到哪个目标分区?在PG中,通过函数ExecPrepareTupleRouting为路由待插入的元组做准备,主要的目的是确定元组所在的分区。ModifyTable
ModifyTable Node
通过插入、更新或删除,将子计划生成的行应用到结果表。ResultRelInfo
ResultRelInfo结构体
每当更新一个现有的关系时,我们必须更新关系上的索引,也许还需要触发触发器。ResultRelInfo保存关于结果关系所需的所有信息,包括索引。PartitionRoutingInfo
PartitionRoutingInfo结构体
分区路由信息,用于将元组路由到表分区的结果关系信息。TupleConversionMap
TupleConversionMap结构体,用于存储元组转换映射信息.ExecPrepareTupleRouting函数确定要插入slot中的tuple所属的分区,同时修改mtstate和estate等相关信息,为后续实际的插入作准备。测试脚本如下启动gdb,设置断点,进入ExecPrepareTupleRouting查看函数调用栈
ExecPrepareTupleRouting在ExecModifyTable Node中被调用,为后续的插入作准备.找到该元组所在的分区获取与所选分区对应的ResultRelInfo;如果还没有,则初始化初始化后的partrel目标分区描述符–>t_hash_partition_3该分区是可路由的设置estate变量(让它看起来像是插入到分区中)/物化tuplemtstate->mt_transition_capture 为NULL,无需处理相关信息如需要,转换元组返回slot,完成调用到此,相信免费主机域名大家对“怎么理解PostgreSQL的分区表”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
Oracle 12cOracle 12cOracle 12crac11gC:Userslenovo>lsnrctl statusLSNRCTL for 64-bit Windows: Version 12.2.0.1.0 – Production on …