Artigo da SQL Magazine 29 - Aperfeiçoando o desempenho de uma agregação
Artigo da SQL Magazine - edição 29.
Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
Aperfeiçoando o desempenho de uma agregação
Mauro Pichiliani
Como professor de banco de dados, um dos tópicos que mais gosto de ensinar em cursos introdutórios de SQL é o uso de agregações. Gosto deste assunto porque posso montar vários exemplos práticos que facilitam o aprendizado e fornecem uma boa base para ensinar conceitos da área de OLAP mais avançados.
Geralmente explico a necessidade de agregação de dados primeiro e depois sigo mostrando a sintaxe dos comandos e funções que fazem a agregação junto com exemplos práticos. Em uma das turmas, ao apresentar as poucas funções de agregações existentes, um aluno me perguntou:
- Professor, e se eu precisar fazer uma agregação que multiplica valores?
Respondi dizendo que os principais gerenciadores de bancos de dados do mercado não possuem uma função pronta que agregava valores através da multiplicação. A abordagem que sugeri para o aluno foi montar um algoritmo que utiliza um laço para varrer os dados e efetuar a multiplicação, sem utilizar os recursos de agregação do banco de dados.
Várias áreas de conhecimento possuem aplicações para a agregação que multiplica valores. Como exemplo podemos citar a estatística, que necessita da multiplicação de valores em seqüência para o cálculo de probabilidades, e a economia onde freqüentemente há a necessidade de aplicar a multiplicação de indicadores econômicos em uma série de valores.
Este artigo discute a implementação de soluções para a multiplicação de valores em uma agregação. Duas abordagens são apresentadas: a utilização de uma expressão matemática e a criação de uma função de agregação definida pelo usuário. Resultados experimentais do desempenho das duas abordagens, obtidos com o SQL Server 2005 Beta 2, são apresentados e comparados qualitativamente.
Agregando e multiplicando
As novas versões dos principais gerenciadores de bancos de dados líderes de mercado permitem o desenvolvimento de funções de agregações definidas por usuário através da integração com linguagens de programação ou pela utilização de dialetos do padrão SQL." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo