В чем разница между столбцами DELTA и TOTAL в Oracle dba_hist_sqlstat?
Я использую следующий запрос, чтобы измерить улучшение производительности между двумя представлениями
SELECT PARSING_SCHEMA_NAME,
SQL_TEXT,
OPTIMIZER_COST,
FETCHES_TOTAL,
FETCHES_DELTA,
EXECUTIONS_TOTAL,
EXECUTIONS_DELTA,
PARSE_CALLS_TOTAL,
PARSE_CALLS_DELTA,
DISK_READS_TOTAL,
DISK_READS_DELTA,
BUFFER_GETS_TOTAL,
BUFFER_GETS_DELTA,
ROWS_PROCESSED_TOTAL,
ROWS_PROCESSED_DELTA,
CPU_TIME_TOTAL,
CPU_TIME_DELTA,
ELAPSED_TIME_TOTAL,
ELAPSED_TIME_DELTA,
elapsed_time_delta / 1000 / 1000 AS elapsed_sec,
stat.snap_id,
TO_CHAR(SNAP.END_INTERVAL_TIME, 'dd.mm hh24:mi:ss') AS SNAPTIME,
txt.sql_id
FROM dba_hist_sqlstat stat,
dba_hist_sqltext txt,
dba_hist_snapshot snap
WHERE stat.sql_id = txt.sql_id
AND STAT.SNAP_ID = SNAP.SNAP_ID
AND SNAP.BEGIN_INTERVAL_TIME >= SYSDATE - 10
AND (
LOWER(SQL_TEXT) LIKE '%view1_name%'
OR LOWER(SQL_TEXT) LIKE '%view2_name%'
)
AND PARSING_SCHEMA_NAME NOT IN ('SYS', 'SYSMAN')
ORDER BY elapsed_time_delta ASC;
В чем разница между столбцами DELTA и TOTAL в приведенном выше запросе? Какой набор столбцов следует учитывать при измерении изменения производительности между представлениями?
1 ответ
Общее время процессора означает, что ваш оператор использовал процессор в течение этого количества секунд. Это кумулятивное значение процессорного времени для анализа / выполнения / выборки.
CPU Time Delta измеряет использование между циклами опроса.
Логика этого заключается в следующем: он помогает вам разделить те сеансы, которые в настоящее время используют много процессорного времени (сортировка их по разнице ЦП), по сравнению с теми, которые в течение своего времени использовали много процессорного времени (сортировка их по процессору). Всего).