Май 2005


Советы, рекомендации, опыт


Владимир Пржиялковский

Простой способ оценить использованные ресурсы
(Simple way to measure consumed resources, by Vladimir Przyjalkowski)

Источник: сайт советов и рекомендаций по Oracle searchoracle.techtarget.com, 03 Nov 2004, http://searchoracle.techtarget.com/tip/0,289483,sid41_gci968640,00.html?track=NL-93&ad=497011

Статистические данные, поддерживаемые представлением V$tables, помогают оценить, насколько определенные SQL- предложения нагружают DBMS. Однако, статистические данные значения абсолютны, так что необходимо сравнение, чтобы знать нагрузку от вашей части SQL-кода. Ниже показан код для SQL*Plus, который делает такую оценку, такое измерение легко и быстро. Код был проверен на версиях 9.0 и 9.2, но также может использовать возможности, существующие в версиях 8 и 7.

Чтобы узнать объем сгенерированных по вашему SQL-предложению записей в журнале (redo) Oracle, можно использовать следующую конструкцию:

VARIABLE absolute NUMBER
VARIABLE delta NUMBER

BEGIN :absolute:= 0; END;
/

BEGIN
   SELECT m.value, m.value - :absolute INTO :absolute, :delta
   FROM v$mystat m, v$statname n
   WHERE m.statistic# = n.statistic# AND n.name = 'redo size';
END;
/

SAVE delta REPLACE

HOST echo PRINT delta >> delta.sql

UPDATE emp SET sal = sal;

@delta

Последние две строки будут шаблоном для следующих измерений:

YOUR SQL CODE

@delta

YOUR SQL CODE

@delta

... вот и все.

Измените 'redo size'

E-mail this page