Учебное пособие Санкт-Петербург «бхв-петербург»



Pdf көрінісі
бет226/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   222   223   224   225   226   227   228   229   ...   256
sql osnovi yazika

EXPLAIN SELECT *
FROM aircrafts;
В ответ получим план выполнения запроса:
QUERY PLAN
---------------------------------------------------------
Seq Scan on aircrafts (cost=0.00..1.09 rows=9 width=52)
(1 строка)
Поскольку в этом запросе нет предложения WHERE, он должен просмотреть все строки
таблицы, поэтому планировщик выбирает последовательный просмотр (sequential
scan). В скобках приведены важные параметры плана.
296


10.2. Методы просмотра таблиц
Первое число означает оценку ресурсов, требуемых для того, чтобы приступить к вы-
воду данных. В нашем примере эта оценка равна нулю, поскольку никакие дополни-
тельные операции с выбранными строками не предполагаются, и PostgreSQL может
сразу же выводить прочитанные строки.
Второе число — это оценка общей стоимости выполнения запроса. Формируя эту
оценку, планировщик исходит из предположения, что данный узел плана запроса вы-
полняется до конца, т. е. извлекаются все имеющиеся строки таблицы. Однако в ряде
случаев на практике это может оказаться и не так, если узел-родитель прекратит свою
работу досрочно, например, в случае использования в запросе SELECT предложения
LIMIT, которое ограничивает выборку записей из таблицы конкретным их числом.
Обе оценки стоимости выполнения выражаются в неких условных единицах, которые
вычисляются на основе ряда параметров сервера баз данных. При этом не важно,
в каких конкретно единицах производится измерение стоимости: важны соотноше-
ния стоимостей. Для каждого запроса планировщик формирует несколько планов.
При сравнении различных вариантов плана, как правило, для выполнения выбира-
ется тот, который имеет наименьшую общую стоимость выполнения запроса. Однако
при работе с курсорами этот принцип можно изменить с помощью специального па-
раметра планировщика cursor_tuple_fraction (курсоры в учебном пособии не
рассматриваются).
Далее в выводе идет общее число строк, которые должны быть извлечены (возвра-
щены) на данном узле плана, также при условии выполнения этого узла до полного
завершения. В нашем примере число строк равно 9. Это число является оценкой, ко-
торую планировщик получает на основе статистики, накапливаемой в специальных
системных таблицах.
Последним параметром узла плана идет оценка среднего размера строк, которые вы-
водятся на данном узле плана запроса. В нашем примере размер (ширина) строки
данных оценивается в 52 байта.
В том случае, когда нас не интересуют численные оценки, можно воспользоваться
параметром COSTS OFF:


Достарыңызбен бөлісу:
1   ...   222   223   224   225   226   227   228   229   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет