terça-feira, 4 de agosto de 2009

(DICA) Otimização - Parte 1 (Dynamic Calc)

A partir de hoje começarei a dar dicas de otimização para melhorar a performance de aplicações, tanto no que diz respeito a Retrieve quanto a Execução de Cálculos.

Nesta 1ª parte, trataremos de algo que quase nunca deixaremos de usar, por mais simples que seja a aplicação, sempre existirá um membro Dynamic Calc.

Pois bem, seguem algumas dicas:

• Para Dimensões Densas, manter o número de filhos para um pai < 100, se possível (para evitar listas flats) ;

• Para Dimensões Sparsas, manter o número de filhos para um pai < 7 e, se possível, evitar muitos níveis de dynamic calc;
  1. Procure usar, apenas, o 1º e/ou 2º nível.

• Evite comandos no dynamic calc que possam causar em sua execução execução CELL mode vs. BLOCK mode;


  1. Um bom exemplo seria: muitas declarações IF para um subset de Blocos. Isto tende a deixar o cáclulo mais lento, com isso, pode-se avaliar o uso do @CURRMBR.

• Minimizar Dependencia nos Dynamic calcs, seja ele baseado em hierarquias ou fórmulas;

• Procure sempre usar o recurso Two Pass, pois a ordem dos cálculos influi e muito no tempo de retrieve.

Abaixo uma ilustração do que foi dito:




2 comentários:

  1. Valew pelas dicas seu Bonel. Segue link de um site de guru de Hyperion de nome Manohar Rana: http://businessintelligencedw.blogspot.com/
    Vale a pena conferir!
    Manuel Bolívar

    ResponderExcluir
  2. Valeu a dica do blog, excelente conteúdo!

    Abs.
    Manuel!

    ResponderExcluir

Se você possui uma dúvida, comente e entre em contato conosco para acelerarmos o processo: contato@hyperionbrasil.com