Otimizacao de sql
4º BN Ronaldo Boscatto Marcelo Rosalem Daminello
08 39
52051-0 52143-5
25/05/2004
INDÍCE
1. Otimização da Consulta 1.1. 1.2. Introdução Um exemplo simples 03 04
2. O processo de Otimização: Panorama 2.1. Estágios do Processo global de otimização 2.1.1. 2.1.2. 2.1.3. 2.1.4. Ordenação da consulta em determinada representação interna Conversão à forma padrão Escolha dos procedimentos de baixo nível 05 05 06 08 09 10 13 14 16 18 19 21 22 23 25 26 28 29
3. Estimativa do custo de acessos usando índices 4. Estratégia de Junção 4.1. 4.2. 4.3. 4.4. 4.5. Interação Simples Junção por Intercalação Uso de um Índice Junção com Hashing Junção Tripla
Geração de planos de consulta e escolha do melhor
5. Estratégia de Junção para prcessadores paralelos 5.1. 5.2. Junção Paralela Junção Múltipla em duto (PIPELINED)
6. Otimização Física 8. Bibliografia
7. Estrutura do Otimizador de Consultas
2
25/05/2004
1.
1.1. Introdução
Otimização da Consulta
A otimização da consulta apresenta tanto um desafio como uma oportunidade; um desafio para os sistemas relacionais: um desafio porque, a otimização é necessária - pelo menos nos ambientes de grande porte - , a intenção sendo que o sistema tenha um desempenho aceitável; uma oportunidade porque é precisamente uma das forças da abordagem relacional o fato de, dado o alto nível semântico das expressões relacionais, esta otimização é factível em primeiro lugar. Num sistema não-relacional, ao contrário, onde as solicitações do usuário são expressas em nível semântico inferior, toda otimização deve ser feita manualmente pelo usuário humano. Num sistema assim, é o usuário, não o sistema, quem decide que operações a nível de registro são necessárias e em que sequência devem ser executadas - e, se o usuário tomar a decisão errada, não há nada que o sistema possa fazer para melhorar a situação.
Em