我正在分析我的查询。
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)
我不知道Seq Scan on student (cost=0.00..22.00 rows=1200 width=40) (actual time=0.005..0.005 rows=7 loops=1)
中的loop = 1是什么意思。
我搜索过postgres文档,但没有找到任何关于循环参数的好参考。
提前致谢。
答案 0 :(得分:4)
PostgreSQL documentation确实谈到了这个:
在某些查询计划中,子计划节点可能会被执行多次。例如,内部索引扫描将在上述嵌套循环计划中的每个外行执行一次。在这种情况下,循环值报告节点的总执行次数,显示的实际时间和行值是每次执行的平均值。这样做是为了使数字与成本估算的显示方式相当。乘以循环值,得到节点中实际花费的总时间。