Postgresql Postgres解释查询的缓冲区总数

Postgresql Postgres解释查询的缓冲区总数,postgresql,sql-execution-plan,explain,Postgresql,Sql Execution Plan,Explain,我想知道查询的缓冲区命中、读取等的总数 我认为这应该是解释输出中最上面的“Buffers:”行显示的数字,因为文档说明“为上层节点显示的块数包括其所有子节点使用的块数。” 但是,有时该数目小于子节点的数目(例如,最顶层节点(聚集)的共享命中数为11k,其唯一子节点(嵌套循环)的共享命中数为30k)。不过,关于子缓冲区统计信息的规则似乎适用于嵌套循环节点 我错过了什么 SELECT version() x86_64-pc-linux-gnu上的PostgreSQL 10.1,由gcc(gcc)4.

我想知道查询的缓冲区命中、读取等的总数

我认为这应该是解释输出中最上面的“Buffers:”行显示的数字,因为文档说明“为上层节点显示的块数包括其所有子节点使用的块数。”

但是,有时该数目小于子节点的数目(例如,最顶层节点(聚集)的共享命中数为11k,其唯一子节点(嵌套循环)的共享命中数为30k)。不过,关于子缓冲区统计信息的规则似乎适用于嵌套循环节点

我错过了什么

SELECT version()

x86_64-pc-linux-gnu上的PostgreSQL 10.1,由gcc(gcc)4.8.3 20140911(Red Hat 4.8.3-9)编译,64位
,这是一个RDS数据库实例。

以我的经验,解释并行查询的分析输出有点混乱。很难知道总共报告了什么,以及只为领导者报告了什么。当我想要一个更容易理解的解释时,我通常会关闭并行化。您丢失了超过1000个对代码的提交。我不知道这些是否相关,但我也不知道它们是否相关。@jjanes,感谢并行查询的建议,这也是我的结论,在聚集级别上事情都搞砸了。至于Postgres版本,这不是我能控制的,我真的希望它能在某个时候得到更新:-)