Tunning Oracle, trabalhando o contexto

[ad#texto]

O Oracle é um banco de dados que vem evoluindo a muitas décadas, na sua origem ele apenas comportava SQL, a linguagem PL/SQL foi desenvolvida posteriormente pela Oracle e foi sendo inserida e melhorada aos poucos, internamente a Oracle criou dois ambientes distintos de processamento, um para o SQL e outro para o PL/SQL, estes ambientes foram denominados como contexto.

Em um código PL/SQL, uma procedure, por exemplo, podemos utilizar tanto SQL como PL/SQL de forma conjunto, esta flexibilidade auxilia e facilita o desenvolvimento na plataforma Oracle, mas ela tem um custo e caso esta flexibilidade seja utilizada de forma leviana o custo será alto e será cobrado em forma de perda de performance.

Esta “troca” ficou conhecida como troca de contexto.

Assim fica clara que uma principais atitudes de um desenvolvedor ao querer melhorar a performance de sua aplicação é diminuir as trocas de contexto, aqui vai um detalhe interessante, todos os comandos do SQL já foram portados para o PL/SQL com exceção do comando REVERSE.

Veja um exemplo com troca de contexto e que tende a ser mais lenta:

select sysdate
 into minhaVar
from dual;

Evitando a troca de contexto teríamos o mesmo código acima sendo executado da seguinte forma:

minhaVar := sysdate;

Notaram que além de evitar a troca de contexto, melhorar a performance temos um código mais legível e produzido com muito menos linhas o que facilita sua manutenção no longo prazo.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.