1_TuningSQL_Cap1

download 1_TuningSQL_Cap1

of 11

Transcript of 1_TuningSQL_Cap1

SQL Tuningem 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.net3

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.net4

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.net5

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.net6

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.net7

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 doservidor de BD?

1- Porque SQL ruim a causa nmero 1 de problemas deperformance; 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.net8

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.net9

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.net10

AtenoSegurana 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.net11