Каковы эквивалентные столбцы tkprof и v $ statname в автотрассировке разработчика SQL? - PullRequest
0 голосов
/ 28 декабря 2018

Когда я получаю вывод TKPROF, я вижу анализ, выполнение, выборку, диск и т. Д.

call   count      cpu    elapsed     disk    query current    rows
---- -------  -------  --------- -------- -------- -------  ------
Parse      1     0.16      0.29         3       13       0       0
Execute    1     0.00      0.00         0        0       0       0
Fetch      1     0.03      0.26         2        2       4      14 
Misses in library cache during parse: 1 

Но получение TKPROF не так быстро, как получение автоматической трассировки от разработчика SQL.

Итак, есть ли эквивалентные столбцы, соответствующие этим столбцам в выходных данных TKPROF?Это может быть вывод плана выполнения нашего в области V $ STATNAME ниже.Если да, то какие они?Потому что, когда я проверяю, я вижу пару разных разборов.И я не вижу ничего похожего на fetch в v $ statname.

И если есть эквиваленты, будут ли значения TKPROF и AUTOTRACE равны или различны?

Заранее спасибо.

1 Ответ

0 голосов
/ 28 декабря 2018

Есть много разных способов получить планы выполнения и информацию о производительности планов в Oracle - и хотя они используют аналогичную информацию из интерфейса ожидания и внутреннего инструментария, не всегда легко получить точное соответствие для чисел из разных инструментов,Обычно это не большая проблема, так как все результаты дают похожую картину.Просто для пояснения некоторых моментов:

  • tkprof - это инструмент для рендеринга файла трассировки, сгенерированного трассировкой SQL (который может быть создан различными способами): вам нужно создать файл трассировки и затем получитьрендеринг;и это может быть более сложным, чем использование других встроенных стратегий.На плюс стороне трассировки SQL предоставляет информацию о ресурсах и времени для всех подробных шагов в выполнении.
    • autotrace использует внутреннюю статистику из интерфейса ожидания, но вы должны учитывать влияние размера выборки и транспорта данных, чтобы получить ту же информацию, которую создаст ваш доступ к приложению.С помощью функции Autotrace вы получаете только информацию об использовании и времени повторного использования для полной операции.
    • Если у вас есть необходимая лицензия, вы можете использовать SQL Monitor для получения очень подробной информации о шагах выполнения и их влиянии навыполнение полной операции.
    • и, наконец, вы можете создать план выполнения со статистикой источника строк, используя подсказку (collect_plan_statistics) или соответствующий параметр сеанса (statistics_level).Чтобы собрать план такого типа, вам нужно вызвать dbms_xplan.display_cursor с опцией подходящего формата.

Крис Саксон дает полезный обзор этих опций в https://blogs.oracle.com/sql/how-to-create-an-execution-plan.

...