Шифрование и секретность в Linux


EXPLAIN



EXPLAIN

Вывод плана выполнения запроса.

Синтаксис

EXPLAIN [ VERBOSE ] запрос

Параметры

  • VERBOSE. При наличии необязательного ключевого слова VERBOSE в плане запроса выводится дополнительная информация.
  • запрос. Запрос, план выполнения которого вы хотите получить.

Результаты

  • NOTICE: QUERY PLAN: plan. За сообщением следует план выполнения запроса, полученный от сервера.
  • EXPLAIN. Сообщение выводится после плана запроса и является признаком завершения выходных данных.

Описание

Команда EXPLAIN отображает план выполнения запроса, сгенерированный планировщиком PostgreSQL. Планировщиком (planner) называется компонент PostgreSQL, пытающийся выработать наиболее эффективный способ выполнения запроса SQL. В плане выполнения содержится информация о том, как будет организован просмотр таблиц, задействованных в запросе, сервером базы данных. В зависимости от ситуации возможен последовательный перебор или выборка по индексу. В план включена информация обо всех таблицах, участвующих в запросе. По выходным данным команды EXPLAIN можно оценить относительную стоимость планов выполнения запроса, измеряемую в количестве операций выборки страниц с диска.

PostgreSQL не пытается преобразовать это число в более привычные промежутки времени, поскольку результат в значительной мере зависит от требований к оборудованию и загрузки операционной системы. Таким образом, стоимость плана выполнения запроса может использоваться только как относительный критерий для сравнения с другими, альтернативными запросами.

Стоимость выражается двумя числами, разделенными точкой. Первое число определяет приблизительную стоимость инициализации (интервал времени перед получением первой записи). Второе число определяет приблизительную оценку общего времени, необходимого для полной обработки запроса.

При наличии ключевого слова VERBOSE команда EXPLAIN выводит внутреннее представление плана в виде дерева. Для среднего пользователя эта информация не представляет интереса; она предназначена для программистов, знакомых с внутренним устройством PostgreSQL.



Содержание раздела