Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DO PIAUÍ - UFPI CAMPUS SENADOR HELVÍDIO NUNES DE BARROS - CSHNB DISCIPLINA: BANCO DE DADOS II UTILIZAÇÃO DE SELETIVIDADE E ESTIMATIVA DE CUSTO NA OTIMIZAÇÃO DE CONSULTAS ROTEIRO 1. Introdução 1.1. Componentes do custo para a execução de um consulta 1.2. Informações de catálogo ultilizadas nas funções de custo 1.3. Exemplos de função de custo para SELECT 1.4. Exemplos de funções de custo para JOIN 1.5. Consultas de múltiplas relações e ordem de junção 2. Visão geral da otimização de consultas no Oracle 3. Otimização semântica de consultas 4. Referencia INTRODUÇÃO ● O otimizador de consulta não deve depender somente de regras heuríscias ( árvore algébrica). Componentes do custo para a execução de um consulta ● Custo de acesso do armazenamento secudário – ● Custo de armazenamento – ● Custo de computação – ● Custo do uso da memória – ● Custo de comunicação – Informações de catálogo ultilizadas nas funções de custo Exemplos de função de custo para SELECT ● Algoritmo de busca para seleções simples – S1: Busca linear (força bruta): recupera cada registro do arquivo e verifica a condição de seleção. – S2: Busca binária: se a condição de seleção envolve igualdade de atributo chave para o qual o arquivo está ordenado. – S3: Índice primário ou chave hash para recuperar um único registro. Exemplos de função de custo para SELECT – S4: Índice primário para recuperar múltiplos registros: Se a condição for <, >, >=, <= em um campo chave com um indice primário. – S5: Índice clustering para recuperar mútiplos registos: comparação de igualdade em atributo que não é chave. – S6: índice secundário (árvore B+) em uma comparação de igualdade: se o campo for chave recupera um único registro, se o campo não for chave recupera múltiplos registros. ● Algoritmo de busca para seleções complexas São consideradas seleções complexas aquelas que possuem um condição conjuntiva (Várias condições simples combinadas usando o perador and) – S7: Índice individual: se o atributo envolvido em qualquer uma das condições simples possuir um caminho de acesso que permita a utilização de um dos algoritmos de (2) a (6). – S8: Índice composto: se dois ou mais atributos estiverem envolvidos numa igualdade ou houver um índice composto ou estrutura hash envolvendo estes atributos. Exemplos de função de custo para SELECT – S9: Interseção de registros: se índices secundários estiverem disponíveis para mais de um dos atributos de uma das condições simples e se os índices envolverem ponteiros para registros em vez de blocos. ● Recuperar o conjunto de ponteiros de registros que satistafa a condição ● Fazer a interseção destes ponteiros de registros ● Recuperar os registros pelo resultado da interseção Exemplos de função de custo para SELECT Exemplos de funções de custo para JOIN ● Algoritmos: considerando as relações (arquivos) R e S e os atributos A e B envolvidos na junção com A R e B S∈ ∈ – J1: Laço aninhados (força bruta): para cada registro t de R (laço externo) recupera um registro s de S (laço interno) e testa se t[A] = s [B] – J2: Laço aninhado indexado (laço único): se existir um indice (ou chave hash) para um dos atributos, p.e. para B S. recupera cada registro t de R e usa o caminho ∈ de acesso recuperar s de S que satisfaçam t[A] = s [B]. Exemplos de funções de custo para JOIN – J3: Mergesort: se os registros de R e S estiverem ordenados fisicamente pelos atributos A e B. Os arquivos são varridos simultaneamente comparando-se t[A] = s [B]. – J4: Hash: Os arquivos R e S são particionados em um mesmo arquivo hash ● Fase de separação ● Fase de sondagem Consultas de múltiplas relações e ordem de junção Visão geral da otimização de consultas no Oracle Otimização semântica de consultas Referência ● http://www.ic.unicamp.br/~thelma/gradu/MC526 /turma-2009/Slides-526/Aula15-Custo-consulta .pdf ● https://www.ime.usp.br/~jef/bd12.pdf ● http://www.facom.ufu.br/~ilmerio/gbd2/gbd2_s6 _consulta.pdf ● http://www.inf.unioeste.br/~olguin/4458-semin/ G4-monografia.pdf ● Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19
Compartilhar