Execution time: 3.840 ms
(14 строк)
Как видно из плана, значение параметра loops для узла, выполняющего сканирова-
ние таблицы seats по индексу с построением битовой карты, равно трем. Это объяс-
няется тем, что из таблицы aircrafts были фактически выбраны три строки, и
для каж-
дой
из них выполняется поиск в таблице seats. Для подсчета общих затрат времени
на выполнение операций сканирования по индексу за три цикла нужно значение па-
раметра actual time умножить на значение параметра loops. Таким образом, для узла
дерева плана Bitmap Index Scan получим:
0
,
064
×
3 = 0
,
192
.
Подобные вычисления общих затрат времени на промежуточных уровнях дерева
плана могут помочь выявить наиболее ресурсоемкие операции.
Попутно заметим, что, согласно этому плану, сортировка на верхнем уровне плана
выполнялась в памяти с использованием метода quicksort:
Sort Method: quicksort Memory: 46kB
До сих пор мы рассматривали только выборки, т. е. такие запросы, которые не изме-
няют хранимых данных. Однако, кроме выборок, есть такие операции, как вставка,
обновление и удаление строк. Нужно помнить, что хотя результаты выборки и не вы-
водятся, тем не менее, она фактически все равно выполняется. Поэтому если требу-
ется исследовать план выполнения запроса, модифицирующего данные, то для того,
чтобы изменения на самом деле произведены не были, нужно воспользоваться тран-
закцией с откатом изменений.
Достарыңызбен бөлісу: