Что означает цикл в объяснении и анализе?
Я профилирую свой запрос.
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)
Я не знаю, что означает цикл =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, но не нашел ни одной хорошей ссылки на параметр цикла.
Заранее спасибо.
1 ответ
Документация PostgreSQL говорит об этом:
В некоторых планах запросов узел подплана может выполняться более одного раза. Например, сканирование внутреннего индекса будет выполняться один раз для каждой внешней строки в приведенном выше плане вложенного цикла. В таких случаях значение цикла сообщает об общем количестве выполнений узла, а показанные фактические значения времени и строк являются средними для каждого выполнения. Это сделано для того, чтобы сделать числа сопоставимыми с тем, как отображаются оценки затрат. Умножьте на значение циклов, чтобы получить общее время, фактически потраченное в узле.