Para utilizar o modo híbrido de uma forma mais eficiente:
Evite utilizar o cálculo em dois passos no modo híbrido. Utilize a ordem de resolução em alternativa.
Converte membros armazenados diferentes de nível 0 em Cálculo Dinâmico onde for possível.
Se a conversão em membros de Cálculo Dinâmico afetar a ordem de resolução para as fórmulas dependentes, pode precisar de ajustar a ordem da estrutura de dimensões para alinhar a ordem de resolução com a ordem de cálculo em lote anterior e as definições de cálculo em dois passos.
A ordem de resolução por omissão para os cubos de modo híbrido é semelhante à ordem de cálculo dos cubos de armazenamento em blocos, com alguns melhoramentos. Se pretender utilizar uma ordem de resolução que não seja por omissão, pode definir uma ordem de resolução customizada para dimensões e membros.
Uma fórmula calculada de forma dinâmica processada na ordem de resolução incorreta pode causar a execução de demasiadas fórmulas por parte de uma consulta, deteriorando o desempenho. Quando for possível, uma fórmula dispersa calculada de forma dinâmica deverá ter uma ordem de resolução mais alta do que as dimensões dispersas agregadas de forma hierárquica.
Em algumas aplicações, isto não é possível, visto que uma ordem de resolução diferente é necessária para obter os resultados com fórmulas corretas. Por exemplo, uma aplicação com unidades e preços precisa de ter um valor de vendas executado antes das agregações dispersas para obter o valore de vendas correto de níveis superiores.
Poderá ter de ajustar as configurações densa ou dispersa das dimensões (só se aplica à utilização do mecanismo de armazenamento em blocos nos casos em que o mecanismo híbrido não pode ser utilizado).
Minimize o tamanho dos blocos, se possível.
Os administradores do Essbase podem utilizar as seguintes ferramentas para monitorizar e otimizar o desempenho de consulta no modo híbrido:
Para limitar a quantidade de memória que poderá ser consumida por qualquer consulta, utilize a definição de configuração MAXFORMULACACHESIZE.
Se o seu cubo tiver fórmulas de membro complexas com operadores entre dimensões e múltiplas instruções IF/ELSE, os problemas de desempenho poderão estar relacionados com a execução de fórmulas. Se suspeitar desta situação, pode ativar o processamento ascendente de consultas para o cálculo de fórmulas. Isto otimiza os tempos de consulta identificando as intersecções obrigatórias para o cálculo, tornando o tempo de consulta proporcional ao tamanho dos dados de entrada.
Para efetuar estas otimizações de consultas na Release 21C, utilize a definição de configuração QUERYBOTTOMUP, bem como a função de cálculo @QUERYBOTTOMUP. Para a Release 19C, utilize a definição de configuração IGNORECONSTANTS com a sintaxe BOTTOMUP, bem como a função de cálculo @NONEMPTYTUPLE.
Utilize o diagnóstico de consultas para monitorizar e depurar o desempenho de consultas. Existem diversas definições de configuração de nível de aplicação disponíveis, consoante a sua utilização. Utilize QUERYTRACE para a depuração a curto prazo de uma única consulta que considere ser problemática. Utilize TRACE_REPORT para a coleção de estatísticas sobre a execução simultânea de consultas (ideal para a depuração num ambiente de desenvolvimento). Utilize LONGQUERYTIMETHRESHOLD em ambientes de produção para imprimir as estatísticas no ficheiro de diário da aplicação sobre quaisquer consultas com uma execução mais longa do que o tempo definido.