(actual time=0.006..7743.705 rows=1045726 loops=1)
Planning time: 122.347 ms
Execution time: 10948.791 ms
(6 строк)
Фактические затраты времени измеряются в миллисекундах, а оценки стоимости —
в условных единицах, поэтому плановые оценки и фактические затраты совпасть не
могут. Важнее обратить внимание на то, насколько точно планировщик оценил чис-
ло обрабатываемых строк, а также на фактическое число повторений того или иного
узла дерева плана — это параметр loops. В данном запросе каждый узел плана был вы-
полнен ровно один раз, поскольку выбор строк из обоих соединяемых наборов про-
изводился по индексу, поэтому достаточно одного прохода по каждому набору. Чис-
ло выбираемых строк было оценено точно, поскольку таблицы связаны по внешнему
ключу, и в выборку включаются все их строки (нет предложения WHERE).
Кроме времени выполнения запроса выводится также и время формирования пла-
на.
Необходимо учитывать, что фактические затраты времени на разных компьютерах
будут различаться. Будет другим и фактическое время при повторном выполнении
запроса на одном и том же компьютере, поскольку и в СУБД, и в операционной си-
стеме используются буферизация и кэширование, а также с течением времени может
изменяться фактическая нагрузка на сервер. Поэтому время выполнения повторно-
го запроса может оказаться значительно меньше, чем время выполнения первого, а
время выполнения запроса в третий раз — немного больше, чем во второй.
Если модифицировать запрос, добавив предложение WHERE, то точного совпадения
оценки числа выбираемых строк и фактического их числа уже не будет.
Достарыңызбен бөлісу: