Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
Influenciando o otimizador de consulta baseado em custo do Oracle - Parte 2
Glenn Goodrum
Leitura obrigatória: SQL Magazine 18, Influenciando o otimizador de consulta baseado em custo do Oracle - Parte 1.
O artigo anterior desta série introduziu o ajuste de estatísticas para ajudar o otimizador baseado em custo do Oracle a computar as estimativas de cardinalidade que mais se aproximam da realidade. Fazendo isto, aumentamos a probabilidade do otimizador realmente escolher o plano de consulta mais eficiente. Este artigo continua a discussão com outro exemplo.
Quando uma consulta une duas tabelas através de um equi-join simples (A.COLUMN = B.COLUMN), o otimizador assume que os valores possíveis de uma coluna são distribuídos uniformemente. Em outras palavras, assume que qualquer valor de uma coluna vai, em média, casar com o mesmo número de linhas, ou seja, se um determinado valor para a tabela A.COLUMN retornar X linhas relacionadas em B.COLUMN, outro valor para A.COLUMN retornará o mesmo número de X linhas relacionadas em B.COLUMN. E se soubermos que nossa consulta usará um valor de uma coluna que acontece bem menos que a média? Um histograma não resolverá, porque o otimizador não tem meios de saber que os valores de junção em tempo de execução serão relativamente raros."
[...] continue lendo...