Базы данных Oracle - статьи

         

Стоимость выполнения запросов в СУБД Oracle 9i


Различные реализации СУБД могут учитывать затраты ресурсов различных компонент системы. В Oracle 9i рассматривают количество операций чтения блоков данных, количество тактов процессора и объемы дополнительной дисковой памяти. Далее эти показатели нормируются и приводятся к единицам измерения количества одноблочных чтений [7]. Формула вычисления стоимости Cost выглядит следующим образом:

Cost = (#SRds * sreadtim + #MRds * mreadtim + #CPUCycles / CPUSpeed )/ sreadtim, (1)

где
#SRds - оценочное количество одноблочных дисковых чтений;

#MRds - оценочное количество многоблочных дисковых чтений;

#CPUCycles - асимптотически точные оценки количества операций, выполняемых процессором;

#sreadtim - среднее время одного одноблочного дискового чтения;

#mreadtim - среднее время одного многоблочного дискового чтения;

#CPUSpeed - количество операций, выполняемых процессором в единицу времени.

Обсуждение вопросов сбора и интерпретации системной статистики (#sreadtim, #mreadtim, #CPUSpeed) можно найти в [7].

Пример 1. Определение значения системной статистики

/* Тестовая система */

test@ORA9i> select pname, pval1 2 from sys.aux_stats$ 3 where sname= 'SYSSTATS_MAIN';

PNAME PVAL1 ------------------------------ ---------- CPUSPEED 860 MAXTHR 174080 MBRC 8 MREADTIM ,461 SLAVETHR -1 SREADTIM 1,044

6 rows selected.



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