Otimizando consultas no Oracle
Neste artigo será mostrado como identificar a necessidade de fazermos um tuning de consultas SQL. Depois de definido um ponto crítico, será demostrado os vários meios existentes de coleta de dados necessários para obtenção de informação da análise
Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
A otimização de consultas é uma busca constante dos profissionais envolvidos na administração de bancos de dados. Motivado por esta preocupação, os SGBDs atuais já trazem um conjunto grande de facilidades que, em muitas vezes, automatizam o processo de otimização.
Neste artigo será mostrado como identificar a necessidade de fazermos um tuning de consultas SQL. Depois de definido um ponto crítico, será demostrado os vários meios existentes de coleta de dados necessários para obtenção de informação de análise do problema. Por fim, temos uma conclusão descrevendo como determinar a causa do problema que está sendo analisado.
Em que situação o tema útil
Os administradores de banco
de dados gastam atualmente muito tempo na realização de monitoração e ajuste de
consultas SQL. Ter o conhecimento de uma metodologia padrão para análise de
problemas desse tipo vai auxiliar a utilizar melhor o tempo dentre as
atividades desempenhadas pelo profissional.
Um tuning de consulta SQL é um processo interativo que requer um entendimento completo do ambiente onde está armazenado o banco de dados (versão do banco de dados, sistema operacional, aplicativos, etc.).
O suporte padrão da Oracle fornece soluções para bugs que podem afetar o desempenho do banco de dados e seus componentes. Também podem fornecer recomendações gerais para iniciar o processo de ajuste.
Para executar uma análise de desempenho, a Oracle recomenda algumas diretrizes que serão apresentadas nesse artigo.
Reconhecendo a necessidade de tuning para a consulta SQL
A necessidade de fazer um tuning de consulta SQL pode ser percebida, de um modo geral, quando uma consulta SQL é executada bem mais lenta em um determinado momento enquanto outras consultas são executadas em um tempo satisfatório para o negócio. Esse é um fato importante de se observar, pois muitas vezes quando todas ou a grande maioria das consultas estão lentas, a rede, hardware ou outros fatores podem estar interferindo.
Existem várias formas de identificar essas consultas. Pode ser através de reclamações de usuários. Também se pode comparar o tempo de execução de rotinas críticas previamente coletadas e comparadas com o tempo atual. Um recurso muito usado são os relatórios do STATSPACK ou AWR (ler BOX 1) que mostram os comandos SQL críticos. Vários destes problemas podem aparecer depois de alterações de objetos do banco de dados, por mudanças nas estatísticas das tabelas, por mudanças em volumes de dados, por mudanças na aplicação, bem como por atualizações/aplicação de patch de banco de dados.
BOX 1. Statspack e AWR
O statspack e AWR (este mais antigo e substituído pelo statspack) são utilitários disponibilizados pela Oracle que fornecem rapidamente um conjunto de informações sobre o desempenho do banco. Uma destas informações é justamente o conjunto de instruções SQL consideradas críticas pelo banco.
Uma determinação clara do problema é fundamental. Pode ser que em fases posteriores da análise, o problema real se torne mais claro e assim tem que se rever e voltar a determinar os detalhes. Para determinar os detalhes, devemos saber, tanto quanto possível o comando ou grupo de comandos SQL envolvidos e a sequência de eventos que levou ao problema. Além disso, é importante identificar onde e como o problema foi evidenciado e qual a sua importância. "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo