Faculdade
Decomposição
Scaner identifica os componentes da linguagem (tokens) no texto de uma consulta
Processamento e
Otimização de Consultas
Análise gramatical
Parser
verifica a sintaxe da consulta para determinar se ela está de acordo com as regras da linguagem.
Técnicas de otimização baseadas em regras heurísticas
• Árvores
Validação
É verificado se todo nome de atributo e relação são válidos e semanticamente significativos.
de consulta
• Grafo de consulta (não vamos tratar)
1
Processamento de Consultas
2
Etapas do Processamento de Consultas
Consulta extração de informações do BD
Consultas em linguagem de alto nível
Consulta em linguagem de alto nível
(EX:consulta álgebra relacional, p. ex.)
Não descrevem uma estratégia eficiente para a implementação de cada passo
Acesso ao nível físico (arquivos do BD)
Tradução
Representação interna
(EX:árvore algébrica (canônica) da consulta)
Otimização da Consulta
O SGBD deve se preocupar com a estratégia
Representação transformada
(EX:árvore otimizada algebricamente)
Módulo de Processamento de Consultas
Definição do Plano de Execução
Plano de Execução
(EX:árvore com indicação de estratégias de acesso)
Gerador de Código
Código de Execução
Processador Run-time
3
Otimização de Consulta
Resultado da Consulta
4
Otimização de Consulta
Consultas em SQL, em geral, são traduzidas em consultas da álgebra relacional e então otimizadas. Encontrar a estratégia ótima
Requer muito tempo
Pode necessitar informações de como os arquivos estão implementados e do conteúdo dos arquivos e as informações podem não estar disponíveis
Os SGBDs têm diferentes algoritmos de acesso ao
BD para implementar as operações
Otimização é o processo de escolha de uma estratégia de execução para o processamento da consulta
Tradução, transformação e geração de uma estratégia (plano) de execução e