bd2 otimizacao de consultas
UFOP – BD-I – Prof. Guilherme Tavares de Assis
Introdução
• Processamento de consultas consiste em uma sequência de atividades que devem ser executadas por um SGBD, no momento de se realizar uma consulta no banco de dados.
Processamento e
Otimização de Consultas
• Dentre tais atividades, um SGBD necessita idealizar uma estratégia ou um plano de execução eficiente para recuperar os resultados de uma consulta com base nos arquivos de banco de dados.
Banco de Dados II
Prof. Guilherme Tavares de Assis
A eficiência de uma determinada estratégia está ligada ao número de acessos necessários ao disco para a realização de uma consulta.
O processo de escolha de uma estratégia de execução para o processamento de uma consulta é nomeado otimização de consulta. Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
1
UFOP – BD-I – Prof. Guilherme Tavares de Assis
2
UFOP – BD-I – Prof. Guilherme Tavares de Assis
Introdução
Introdução
• Consultas em SQL, em geral, são traduzidas em consultas da álgebra relacional e, então, otimizadas.
Etapas do processamento de consultas
• Encontrar a estratégia de execução ótima é difícil, já que: requer muito tempo; pode requerer informações, como estrutura de implementação e conteúdo dos arquivos, que não estejam disponíveis no catálogo do banco de dados; os SGBDs possuem distintos algoritmos de acesso ao banco de dados para implementar as operações necessárias.
• Em geral, a definição do plano de execução não é pela melhor estratégia, mas sim pela estratégia de razoável eficiência. 3
4
UFOP – BD-I – Prof. Guilherme Tavares de Assis
UFOP – BD-I – Prof. Guilherme Tavares de Assis
Tradução de Consultas SQL para Álgebra Relacional
• No processo de tradução de uma consulta SQL para a álgebra relacional, é gerada uma árvore de consulta algébrica
(canônica) equivalente à consulta.
Os nós externos e internos da