Sei sulla pagina 1di 11

SQL Tuning

em Bancos de Dados Oracle 10G/11G

Fbio Prado 01/2012

www.fabioprado.net www.fabioprado.net

Captulo 1

Introduo SQL Tuning

Objetivos do tuning
Minimizar tempo de resposta e recuperao de dados; Minimizar concorrncia de acesso aos dados;

Otimizar a taxa de transferncia de dados;


Otimizar a capacidade de carga do Banco de Dados.

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

www.fabioprado.net
3

Problemas de performance

60% dos problemas de performance so decorrentes de SQL ruim; 20% dos problemas de performance so decorrentes do projeto do BD.

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

www.fabioprado.net
4

Onde tunar?
Aplicao:
SQL ruim (mal escrito); Recursos serializados.

Projeto:
Modelagem dos objetos: tabelas, vises, ndices, sequences etc.;
Armazenamento dos objetos.

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

www.fabioprado.net
5

Onde tunar?
Banco de Dados:
Alocao de dados em Memria; Estrutura do Banco de Dados; Parmetros inapropriados.

Sistema Operacional:
I/O de dados; Largura de banda; Alocao de espao em disco; SWAP; Parmetros do SO.
www.fabioprado.net
6

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

O que iremos tunar neste treinamento?


Principalmente Aplicao e Projeto do BD:
SQL ruim (mal escrito); Recursos serializados. Modelagem dos objetos: tabelas, ndices, sequences e vises materializadas; Armazenamento dos objetos.

Um pouco de configurao do Banco de Dados:


Alocao de dados em Memria; Parmetros inapropriados.
www.fabioprado.net
7

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

Por que tunar SQL?


Por que me preocupar em tunar as instrues SQL ao invs de deixar o trabalho de tuning para o DBA (tunando o BD ao invs

de SQL) ou ao invs de fazer um upgrade de hardware do


servidor de BD?

1- Porque SQL ruim a causa nmero 1 de problemas de


performance; 2- Porque uma aplicao bem projetada pode executar bem em qualquer BD, porm uma aplicao mal projetada executa mal at mesmo em um BD bem tunado (com bom hardware e bem configurado).
abril de 12 SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

www.fabioprado.net
8

Por que tunar SQL?


Ver artigo Tuning Banco de Dados de Sandro Lopes, publicado em 09/01/12: http://www.taskblog.com.br/01/tuning-banco-de-dados Um amigo estava me contando que a empresa onde trabalha trocou um dos seus servidores por uma mquina mais potente, com vrios gigabytes de memria e muitos processadores. O objetivo era fazer com que um determinado programa, considerado crtico pela empresa, fosse executado com mais performance, podendo assim atender melhor a demanda dos vrios departamentos que o acessavam. Mas infelizmente, esta atualizao tecnolgica (e o investimento financeiro que no foi modesto), no atingiram os objetivos esperados. Houve sim uma melhora na performance do programa, mas ainda estava muito abaixo do esperado.
www.fabioprado.net
9

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

Importante

Ao tunar queries de uma aplicao, elas passaro a consumir menos recursos do BD.
Consequentemente outras aplicaes que so executadas no mesmo BD, tambm obtero ganhos de performance.

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

www.fabioprado.net
10

Ateno
Segurana Performance

Quanto mais recursos de segurana forem implementados, menor ser a performance do BD.

abril de 12

SQL Tuning em Bancos de Dados Oracle 10G/11G 2011 Fbio Prado. Todos os direitos reservados.

www.fabioprado.net
11

Potrebbero piacerti anche