第19课:扫描计划路径的执行

本文详细介绍了PostgreSQL数据库在执行顺序扫描计划时的工作原理,包括流水线式的火山模型、元组的获取、缓存管理以及执行算子的主要任务。通过对表TEST_A的全表扫描示例,阐述了如何从缓存中读取元组、执行约束条件和投影操作,揭示了执行器如何处理一次一元组的拉取模型。
摘要由CSDN通过智能技术生成

选择执行计划之后,这个执行计划就可以开始执行了。PostgreSQL 数据库的执行器是一个流水线式的火山模型,“流水线”的意思是说它每次只处理一条元组,“火山模型”的意思是它是一个“拉取”式的模型,也就是对执行计划进行后序遍历。为了方便说明,我们来看一个例子。

假设有 2 个表,他们的数据分别如下:

TEST_A 表:

A B C D
1 1 1 1
2 2 2 2

TEST_B 表:

A B C D
2 2 2 2
3 3 3 3

如果要对 TEST_A 进行扫描,它的执行计划应该是这样的:

postgres=# EXPLAIN VERBOSE SELECT * FROM TEST_A WHERE A = 1;
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值