循环解释分析语句是什么意思?

Man*_*hit 5 sql postgresql select explain sql-execution-plan

我正在分析我的查询。

postgres=# explain analyze select * from student;
                                              QUERY PLAN
------------------------------------------------------------------------------------------------------
 Seq Scan on student  (cost=0.00..22.00 rows=1200 width=40) (actual time=0.005..0.005 rows=7 loops=1)
 Planning time: 0.035 ms
 Execution time: 0.019 ms
(3 rows)
Run Code Online (Sandbox Code Playgroud)

我不知道loop = 1意味着什么Seq Scan on student (cost=0.00..22.00 rows=1200 width=40) (actual time=0.005..0.005 rows=7 loops=1)

我已经搜索了postgres文档,但是没有找到关于循环参数的任何很好的参考。

提前致谢。

Sam*_*nen 5

PostgreSQL 文档确实讨论了这一点:

在某些查询计划中,子计划节点可能会执行多次。例如,内部索引扫描将在上述嵌套循环计划中的每个外部行执行一次。在这种情况下,循环值报告该节点的执行总数,并且实际显示的时间和行值是每次执行的平均值。这样做是为了使数字与显示成本估算的方式具有可比性。乘以loops值可得到该节点实际花费的总时间。