Otimização de Consultas em SQL Comparação: Joins em pipeline versus Joins materializados AULA 26 – Parte I Profa. Sandra de Amo GBC053 – BCC.

Slides:



Advertisements
Apresentações semelhantes
Otimização de Consultas em SQL Estimativas de Custos
Advertisements

Desenvolvimento de Aplicações Web na plataforma Microsoft
Arquitetura e organização de computadores
Algoritmos de Busca CONTEÚDO (1) Motivação (2) Busca Linear
AULA 26 Profa. Sandra de Amo GBC053 – BCC
Bulk Loading – Algoritmo AULA 12 - COMPLEMENTO Profa. Sandra de Amo GBC053 – BCC Sandra de Amo.
Otimização de Consultas em SQL Parte II - Planos Alternativos -  Estimativa de Custos dos Planos de Execução AULA 19 Profa. Sandra de Amo Programa de.
REVISÃO PARA 3a PROVA Gerência de Banco de Dados
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Two-Way Merge Sort External Merge Sort
Gerência de Banco de Dados 1 Apresentação da Disciplina Profa. Sandra de Amo Bacharelado em Ciência Computação 2009 – 2.
Algoritmos para Projeção eliminando Duplicatas
Gerenciamento de Disco e de Buffer - Resumo
Gerenciamento de Banco de Dados
Algoritmos de Junção – BNL e IndexNL AULA 16 Profa. Sandra de Amo GBC053 – BCC
AULA 27 Profa. Sandra de Amo GBC053 – BCC
Organização de Arquivos Introdução
Algoritmos para Operação de Junção
Gerenciamento do Disco Gerenciamento do Buffer
Algoritmos para Seleção Simples AULA 16 Profa. Sandra de Amo GBC053 – BCC
Organização de Arquivos Tipos de Indices Cálculo de Custos de I/O
Algoritmos de Junção – Sort-Merge Join Hash Join
Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Seleção Simples
Algoritmos para Operações de Conjuntos AULA 19 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operação de Junção – NLJ orientado a tuplas e NLJ orientado a páginas AULA 15 Profa. Sandra de Amo GBC053 – BCC
AULA 23 Profa. Sandra de Amo GBC053 – BCC
Algebra relacional nomeada e não-nomeada
Algoritmos para Projeção e Operações de Conjuntos AULA 22 Profa. Sandra de Amo GBC053 – BCC
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operação de Junção AULA 17 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
7a. e 8a. Aulas – Correlação e Regressão
Algoritmos Escher.
Debian Gerência de Memória.
Algoritmos para Operação de Junção Loops Aninhados
INF70 – Gerenciamento de Banco de Dados 2 Ordenação Externa Ilmério Reis da Silva UFU/FACOM/BCC.
Geração de Planos de Execução Planos para Consultas Aninhadas
Otimização de Consultas em SQL Planos Alternativos AULA 24 Profa. Sandra de Amo GBC053 – BCC
Cálculo de Custos de I/O Heap Files AULA 4 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.
Arquivos Estruturados por Ordenação– Custos I/O AULA 5 Profa. Sandra de Amo GBC053 – BCC.
Banco de Dados II Prof. Antônio Cordeiro.
Algoritmos Recursivos Klauko Mota. Conceito de Recursividade Um programa recursivo é um programa que chama a si mesmo, direta ou indiretamente Conceito.
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
AULA 26 Profa. Sandra de Amo GBC053 – BCC
Ordenação Externa de Arquivos – Um exemplo
Otimização de Consultas em SQL Planos de Execução
Algoritmos de Junção – Sort-Merge Join Otimizado Hash Join
Algoritmos de Processamento e Otimização de Consultas
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
SO Paginação de Memória Algoritmos de Substituição de Página
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Distância Mínima de Edição Profa. Sandra de Amo Bacharelado em Ciência da Computação - UFU.
Aula 10 Algoritmos de Busca
AULA 20 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operações Binárias entre blocos SQL AULA 19 – Parte I Profa. Sandra de Amo GBC053 – BCC.
Subsistema de Entrada e Saída do Kernel
Recursividade Bruno Silva.
BD I / Processamento de Consultas Prof. Altigran Soares da Silva IComp/UFAM.
Como analisar um algoritmo
Algoritmos de Junção – IndexNL e Sort Merge Join AULA 19 Profa. Sandra de Amo GBC053 – BCC.
Operações Aritméticas AULA 3 Análise de Algoritmos Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo.
Algoritmos para o operador de Projeção AULA 19 – Parte II Profa. Sandra de Amo GBC053 – BCC.
AOBD 07/08 Mini-Projecto 2 Soluções. 1) Considere que existem três relações R1=(A,B,C), R2=(C,D) e R3=(D,E) com chaves primárias A, C e D, respectivamente.
Sumário 1 SQL Embutida 2 Processamento de Consultas
Banco de Dados I Unidade 6 Processamento de Consultas Otimização Lógica.
Algoritmos de Junção – Sort Merge Join e Hash Join
Berilhes Borges Garcia Algoritmos Uma ferramenta para resolver um problema de computação bem- especificado (O espírito da computação) Exemplo: ordenação.
Algoritmos para Seleção AULA 23 Profa. Sandra de Amo GBC053 – BCC.
ORDENAÇÃO EM TEMPO LINEAR
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
Transcrição da apresentação:

Otimização de Consultas em SQL Comparação: Joins em pipeline versus Joins materializados AULA 26 – Parte I Profa. Sandra de Amo GBC053 – BCC

Exercício 1 Sejam R(A,B), S(B,C) e T(C,D). M = 1000 = tamanho de R, N = 500 = tamanho de S, P = 800 = tamanho de T. Os dois Joins utilizam o algoritmo NLJ-pag a pag. O 1o Join é executado em pipeline. Descrever com detalhes a execução do 1o Join. R S T

R (ext) S (int)T (int) R x S A cada vez que a página do frame 3 se completa, a tabela T é carregada página a página no frame 4. A junção da página do frame 3 com todas as páginas de T é efetuada e armazenada no Frame 5 Output (R x S) x T Frame 1 Frame 2Frame 3Frame 4 Frame 5

R (ext) S (int)T (int) R x S Output (R x S) x T Frame 1 Frame 2Frame 3Frame 4 Frame 5 Tabela R é carregada 1 única vez Tabela S é carregada M vezes, onde M = num. de páginas de R Tabela T é carregada K vezes, onde K = num. de páginas de R x S

R (ext) S (int)T (int) R x S Output (R x S) x T Frame 1 Frame 2Frame 3Frame 4 Frame 5 Custo do plano executado em pipeline, sabendo que M = 1000, N = 500, P = 800 = ((1000*500)/10).800 = = Tempo = seg = 112,5 horas

Exercício 2 Não é possível utilizar a estratégia de pipeline para implementar um duplo join utilizando o algoritmo NLJ/p-p para os dois Joins com o plano linear à direita abaixo. Descrever com detalhes a execução do 1o Join e o custo deste plano. R ST

S (ext) T (int) S x T A cada vez que a página do frame 3 se completa o conteúdo do frame 3 é gravado em disco (materializado). Frame 1 Frame 2Frame 3

R (ext) S x T (int) R x (S x T) Frame 1 Frame 2Frame 3 Quando a relação S x T for TOTALMENTE gravada em disco, a relação R começa a ser carregada no Frame 1, Página a página e no Frame 2 a relação S x T é carregada M vezes ! Resultado da junção de R com (S x T) é calculado no Frame 3.

Custo de criar S x T = *800 = Tamanho de S x T = (500*800/10) = Custo de gravar S x T = Subtotal = S (ext) T (int) S x T Frame 1 Frame 2Frame 3

R (ext) S x T (int) R x (S x T) Frame 1 Frame 2Frame 3 Custo de criar R x (S x T) = * = Custo total do plano = = Tempo = seg Plano anterior em pipeline = seg Diferença de 195 seg = 3,25 min

Exercicio 3 Calcular o custo do seguinte plano de execução: T RS

Exercicio 4 Considere o plano left deep, onde o algoritmo utilizado para o Join é o Sort- Merge Join (não otimizado). Este plano não pode ser executado em pipeline ! (Por que ???) Calcule seu custo, com um buffer de 5 páginas. R S T Ordenação de R: Ordenação de S : 4000 Ordenação de T : 6400 Criação de R x S = = 1500 Tamanho de R x S = Gravação de R x S = Ordenação de R x S = Custo de (R x S) x T = = Custo total = = Tempo = 9227 seg = 2,56 horas