Что означает цикл в объяснении и анализе?

Я профилирую свой запрос.

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 говорит об этом:

В некоторых планах запросов узел подплана может выполняться более одного раза. Например, сканирование внутреннего индекса будет выполняться один раз для каждой внешней строки в приведенном выше плане вложенного цикла. В таких случаях значение цикла сообщает об общем количестве выполнений узла, а показанные фактические значения времени и строк являются средними для каждого выполнения. Это сделано для того, чтобы сделать числа сопоставимыми с тем, как отображаются оценки затрат. Умножьте на значение циклов, чтобы получить общее время, фактически потраченное в узле.

Другие вопросы по тегам