A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AULA 26 Profa. Sandra de Amo GBC053 – BCC

Apresentações semelhantes


Apresentação em tema: "AULA 26 Profa. Sandra de Amo GBC053 – BCC"— Transcrição da apresentação:

1 AULA 26 Profa. Sandra de Amo GBC053 – BCC 2012-2
Otimização de Consultas em SQL Histogramas – Estimativas mais acuradas do fator de redução AULA 26 Profa. Sandra de Amo GBC053 – BCC 2012-2

2 Histogramas Estimativas do fator de redução: supõem que os valores dos atributos são distribuídos uniformemente. Histogramas: Técnica mais sofisticada e acurada para estimar o fator de redução Necessita que estatísticas sobre a variação dos valores dos atributos sejam armazenadas no catálogo e atualizadas periodicamente.

3 Histograma 9 8 Distribuição real 4 4 3 3 3 3 2 2 2 2 1 1 1 3 3 3 3 3 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Distribuição uniforme

4 Histograma 45 tuplas, 15 valores
Distribuição uniforme: 3 tuplas para cada valor Distribuição não-uniforme: número de tuplas para cada valor pode variar bastante Histograma: estrutura mantida pelo SGBD em seu catálogo que dá uma estimativa do número de tuplas por faixa de valor

5 Histogramas Supõe-se um conjunto de N tuplas, com valores variando de v1 a v2. Supõe-se que para cada valor v, v1 ≤ v ≤ v2 temos o número de tuplas N(v) com este valor Estimativas do número de tuplas com valor x: Estimativa exata : N(x) Estimativa usando distribuição uniforme: Média aritméticas dos valores

6 Histogramas por Largura
Histograma por largura : particiona-se o conjunto de valores em K grupos, com o mesmo número de valores cada um. Para cada grupo de valores, determina a média do número de tuplas do grupo Como estimar N(x) usando um histograma por Largura Estimativa do número de tuplas com valor x = média do número de tuplas do grupo ao qual x pertence.

7 Histograma por largura
9 8 4 4 3 3 3 3 2 2 2 2 1 1 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 5 5 5 2.67 1.33 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14

8 Uso do Histograma por largura
Qual a estimativa da quantidade de tuplas com AGE > 13 ? Distribuição uniforme: 3 tuplas Distribuição histograma por largura: 5 tuplas 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 5 5 5 2.67 1.33 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14

9 Histogramas em Profundidade
Histograma em Profundidade : particiona-se o conjunto de valores em X grupos, com aproximadamente o mesmo número de tuplas em cada um. Para cada grupo de valores, determina a média do número de tuplas para cada valor do grupo. Como estimar N(x) usando um histograma por Comprimento Verifica em que grupo de valores o valor x se encaixa. N(x) = média do número de tuplas associado aos valores deste grupo.

10 Histograma por profundidade
9 6 6 2.67 1.80 1.75 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 tuplas 7 tuplas 12 tuplas 9 tuplas 9 tuplas

11 Histograma por profundidade
Qual a estimativa da quantidade de tuplas com AGE > 13 ? Distribuição uniforme: 3 tuplas 9 Distribuição histograma por largura: 5 tuplas Distribuição histograma por profundidade = 9 tuplas 6 6 2.67 1.80 1.75 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 tuplas 7 tuplas 12 tuplas 9 tuplas 9 tuplas

12 Exercicio 1 100 tuplas, 20 valores variando de 1 a 98
1. Descrever uma distribuição uniforme para estes dados. 1 3 4 10 6 22 8 31 9 35 2 43 5 47 7 53 58 2 60 7 63 3 65 4 76 78 80 84 93 98 6 2. Fazer um histograma por largura . 3. Estimar o número de tuplas com valores > 30, supondo uma distribuição uniforme dos dados. 4. Estimar o número de tuplas com valores > 30, supondo uma distribuição de acordo com o histograma por largura.

13 Exercicio 2 100 tuplas, 20 valores variando de 1 a 98 1 3 4 10 6 22 8
31 9 35 2 43 5 47 7 53 58 2 60 7 63 3 65 4 76 78 80 84 93 98 6 1. Fazer um histograma por profundidade . 2. Estimar o número de tuplas com valores > 30, supondo uma distribuição de acordo com o histograma por largura.

14 Histogramas comprimidos
Histogramas por profundidade produzem melhores estimativas do que histogramas por largura Histogramas comprimidos Mantém contadores para valores mais frequentes (por exemplo idade = 7 e idade = 14) Para os outros valores, mantém um histograma por profundidade (de preferência) ou por largura. Muitos SGBDs utilizam histograma por profundidade, alguns utilizam mesmo histogramas comprimidos.

15 Planos de execução para múltiplos “Join”
A B C D PLANO POR PROFUNDIDADE À ESQUERDA D B C D A D PLANO BUSHY C C A B A B PLANOS LINEARES

16 Planos por profundidade à esquerda
São os únicos a serem considerados: Quanto maior o número de joins maior o número de planos alternativos. Por isto opta-se por considerar somente os left-deep. Planos left-deep permitem utilizar estratégia pipeline à esquerda com a relação externa. A relação interna é sempre uma relação de base (materializada). Repare que não é possível utilizar pipeline à direita de um join. É sempre necessário que a relação interna esteja disponível em sua integralidade, pois é varrida diversas vezes. No caso de planos left-deep, este problema não acontece, pois o filho à direita de um Join é sempre uma relação de base (materializada).


Carregar ppt "AULA 26 Profa. Sandra de Amo GBC053 – BCC"

Apresentações semelhantes


Anúncios Google