postgresql 中的行和宽度是什么解释?

what are rows and width in postgresql explain?

rowswidth 在 PostgreSQL 中是什么意思?

我阅读了doc,其中谈到了“估计的行数”。我仍然不明白这些行是如何计算的,这意味着什么。

我 运行 解释了 2 个查询,都是 returns 12 行。一个用关联子查询,一个用join。

subquery explain:
XN HashAggregate (cost=812238052402.22..812238052402.23 rows=4 width=32)

Join explain:
XN HashAggregate (cost=6670401214317.72..6670401214317.75 rows=12 width=11)

我有 2 个问题?

width 是以字节为单位的行的平均长度,计算为输出列的平均宽度之和。 Postresql 为任何列保存一些指标,其中一个是 avg_width。它用于预期的内存分配。您可以在视图 pg_stats.

中查看这些统计信息

有很多关于行估计的文章。您也可以在 PostgreSQL 文档中找到它 https://www.postgresql.org/docs/current/row-estimation-examples.html .