Tuning Oracle: operações aritméticas PL/SQL
Veja como detalhes podem fazer toda a diferença quando falamos em tuning Oracle. Veja detalhes de como deixar sua aplicação PL/SQL mais rápida.
[ad#texto]
Um detalhe que muitos ignoram quando falamos de performance e desempenho crítico é o cuidado ao declarar variáveis locais para inteiros, elas podem ser decisivas no seu projeto de tuning Oracle.
Quando for fazer isso tenha sempre a preferência por utilizar PLS_INTEGER (notação mais nova) ou pelo menos BINARY_INTEGER (notação mais antiga), mas porque utilizar o tipo PLS_INTEGER para inteiros?
Esta recomendação se deve ao fato de que o tipo PLS_INTEGER exige menos armazenamento e que em operações aritméticas seu processamento é baseado em hardware, além disso os o tipo NUMBER e seus subtipos são projetados para precisão e portabilidade e não desempenho.
Até mesmo o tipo INTEGER é desencorajado, pois internamente ele é tratado como um ponto flutuante sem casas decimais, prejudicando muito o desempenho.
Além disse os subtipos INTEGER, NATURAL, NATURALN, POSITIVE, POSITIVEN e SIGNTYPE utilizam verificação adicional em tempo de execução o que também denigre o desempenho.
Em projetos de tuning Oracle ocorre com certa frequência o foco se concentrar no tratamento de queries, loops e até mesmo reengenharia das tabelas e pequenos detalhes como os que são apresentados aqui passam desapercebidos, porém dependendo da rotina PL/SQL estes pequenos ajustes irão garantir uma melhora substancial na performance.