Do que se trata o artigo:

Performance e segurança normalmente são pontos críticos no desenvolvimento de aplicações. Conhecer técnicas e métodos para otimizar a performance das aplicações é um requisito muito importante para o currículo de um bom desenvolvedor. Deste modo, apresentaremos neste artigo o uso de objetos PL/SQL, functions, packages e, principalmente, stored procedures, como alternativa para substituir instruções SQL nas chamadas das aplicações.


Em que situação o tema é útil:

O uso de functions, packages e stored procedures, apresentados neste artigo, poderá ajudar os desenvolvedores e também DBAs que participam do processo de desenvolvimento e implantação de software a otimizar o desempenho de sistemas que acessam bancos de dados, principalmente aqueles que executam longas transações que envolvem múltiplas consultas ou atualizações de dados.

Resumo DevMan:

Apresentaremos neste artigo o uso de functions, packages e stored procedures como alternativa para otimizar a performance de aplicações que acessam bancos de dados Oracle. Para provar o conceito de que estes objetos podem otimizar a performance das aplicações, demonstraremos em detalhes uma aplicação que acessa e atualiza o banco de dados, simulando simples transferências bancárias, por meio de dois métodos: utilizando somente instruções SQL e utilizando somente stored procedures (dentro de uma package e que utiliza uma function dentro da mesma package). Para finalizar, apresentaremos um benchmark entre os dois métodos para que possamos constatar qual deles tem o tempo de execução menor e, consequentemente, a melhor performance.

O tema deste artigo é uma extensão da 5a dica do artigo “Cinco dicas importantes para otimizar instruções SQL em Bancos de Dados Oracle 10G/11G”, publicado na SQL Magazine 97. Nesse artigo comentamos que os objetos functions, stored procedures e packages implementados na versão 7 do Oracle Database, em 1992, poderiam nos ajudar a otimizar a performance das aplicações e apresentamos os benefícios que eles poderiam oferecer, mas não entramos nos detalhes de como criá-los e testá-los. Neste artigo, além da teoria, demonstraremos a prática.

Atualmente, é extremamente importante desenvolver e aplicar técnicas que possam proporcionar melhor performance às aplicações. Em um mundo com tanta concorrência, sistemas com baixa performance correm um sério risco de “morrer”, pois os usuários atuais são bastante exigentes. Pense em um sistema de internet banking que demora dois minutos para autenticar seu login toda vez que você precisa utilizá-lo. Você usaria este sistema?

Começaremos apresentando uma introdução sobre o que são Stored Procedures, Functions e Packages, ressaltando a importância desses objetos em relação à performance. Por fim, demonstraremos como criar estes objetos e faremos um benchmark entre o uso de Instruções SQL X Stored Procedures em uma aplicação que simula pequenas transações bancárias.

Stored Procedures

Stored Procedures (SPs) ou Procedimentos Armazenados são blocos PL/SQL nomeados, também chamados de subprogramas, que são armazenados como objetos do banco de dados.

As SPs permitem criar blocos de código que podem conter instruções procedurais e instruções SQL e podem possuir, opcionalmente, parâmetros de entrada e/ou saída. Esses blocos possuem um nome que permite identificá-los no banco de dados. As aplicações e outros blocos PL/SQL podem invocar ou utilizar as SPs através de seu nome. Elas são ótimas para otimizar performance e aumentar a segurança das aplicações, além de promoverem reusabilidade e facilidade de manutenção.

Functions

Functions ou Funções (em português) também são blocos PL/SQL nomeados, muito semelhantes às Stored Procedures. A diferença principal é que as Funções obrigatoriamente devem retornar um valor.

As funções são muito utilizadas para computar valores, promover reusabilidade e facilidade de manutenção e podem ser chamadas a partir de outros blocos PL/SQL ou até mesmo por instruções SQL. É muito comum utilizarmos funções em instruções SQL para efetuar conversões de dados, formatar datas, contar o total de linhas, etc.

Packages

Packages ou Pacotes (em português), por sua vez, são objetos PL/SQL utilizados para agrupar os seguintes componentes, quando houver relação entre eles:

· Tipos PL/SQL;

· Variáveis, estruturas de dados e exceções;

· Stored Procedures e Functions.

...
Quer ler esse conteúdo completo? Tenha acesso completo