
Май 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'
|