PLSQL Peformance - PullRequest
       1

PLSQL Peformance

0 голосов
/ 24 мая 2018

У меня есть задача улучшить производительность некоторых пакетов и процедур в нашем приложении.У нас есть около 1 пакета, и в нем есть подпрограммы из 15-20 процедур.

Ниже приведены мои пояснения.

Я делаю изменения в типах данных с NUMBER до PLS_INTEGER для локальных переменных и параметров процедур ив подпрограммах также, но не во всех подпрограммах, это повлияет, если вызывающий пакет имеет PLS_INTEGER, а подпрограмма имеет тип данных NUMBER, например.

PACK1.MAINPROC ( a1 PLS_INTEGER,a2 PLS_INTEGER,a3 PLS_INTEGER,a4 PLS_INEGER )

procedure SUBPROCEDURE1( a1 NUMBER,a2 NUMBER)
begin
....
end

Как объяснено выше, основной пакет имеет параметр a1, а a2 имеет PLS_INTEGER, но в подпроцедуре a1 и a2 используютсякак NUMBER это будет проблемой для производительности?

1 Ответ

0 голосов
/ 27 мая 2018

PLS_INTEGER, вероятно, не улучшит вашу производительность.Если у вас нет замкнутого цикла с большим количеством математических операций, маловероятно, что вы измените NUMBER на PLS_INTEGER.И даже если у вас действительно жесткая петля, лучший способ улучшить производительность - это обычно заменить ее решением, основанным на множествах.

Этот вопрос звучит как симптом навязчивого расстройства настройки.Изменение NUMBER на PLS_INTEGER - это одно из тех изменений, которые вы всегда можете сделать, это просто, легко и быстрее, но все же в конечном счете бесполезно.

Перед настройкой необходимо иметь в виду определенную проблему производительности и цель.Затем вторая задача - профилировать код, чтобы определить, какая часть медленнее и на чем стоит сосредоточиться.Звучит просто, но так заманчиво сосредоточиться на простых вещах, а не на важных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...