Pour utiliser le mode hybride plus efficacement :
Évitez d'utiliser le calcul à deux passes en mode hybride. Utilisez plutôt l'ordre de résolution.
Convertissez les membres stockés de niveau autre que 0 en utilisant le calcul dynamique lorsque cela est possible.
Si la conversion en membres de calcul dynamique a une incidence sur l'ordre de résolution des formules dépendantes, vous devrez peut-être ajuster l'ordre des dimensions de la structure pour aligner l'ordre de résolution avec l'ordre de calcul par lots précédent et les paramètres de calcul à deux passes.
L'ordre de résolution par défaut pour les cubes de mode hybride est similaire à l'ordre de calcul des cubes de stockage par blocs, avec quelques améliorations. Si vous voulez utiliser un ordre de résolution autre que celui par défaut, vous pouvez définir un ordre de résolution personnalisé pour les dimensions et les membres.
Une formule calculée dynamiquement traitée dans un mauvais ordre de résolution peut mener à trop de formules exécutées par une interrogation et nuire aux performances. Lorsque cela est possible, une formule dispersée calculée dynamiquement doit avoir un ordre de résolution plus élevé qu'une dimension creuse agrégée hiérarchiquement.
Dans certaines applications, cela n'est pas possible, car un ordre de résolution différent est nécessaire afin d'obtenir les bons résultats pour la formule. Par exemple, dans le cas d'une application avec des unités et des prix qui doivent avoir une valeur de vente et qui doivent être exécutés avant les agrégations des dimensions creuses afin d'obtenir les bonnes valeurs de vente pour les niveaux supérieurs.
Vous aurez peut-être à adapter les configurations denses et dispersées des dimensions (applicable uniquement à l'utilisation du moteur de stockage par blocs dans les cas où le moteur hybride ne peut pas être utilisé).
Minimisez la taille des blocs, si possible.
Les administrateurs Essbase peuvent utiliser les outils suivants pour surveiller et optimiser la performance des interrogations en mode hybride :
Pour limiter la quantité de mémoire consommée par une interrogation particulière, utilisez le paramètre de configuration MAXFORMULACACHESIZE.
Si votre cube a des formules de membre complexes avec des opérateurs interdimensions et plusieurs énoncés IF/ELSE, les problèmes de performances peuvent être reliés à l'exécution des formules. Si vous soupçonnez que c'est le cas, vous pouvez activer le traitement d'interrogation ascendant pour le calcul de formule. Les temps d'interrogation sont ainsi optimisés grâce à l'identification des intersections requises pour le calcul, ce qui rend le temps d'interrogation proportionnel à la taille des données d'entrée.
Pour effectuer ces optimisations d'interrogation pour la version 21C, utilisez le paramètre de configuration QUERYBOTTOMUP, ainsi que la fonction de calcul @QUERYBOTTOMUP. Pour la version 19C, utilisez le paramètre de configuration IGNORECONSTANTS avec la syntaxe BOTTOMUP, ainsi que la fonction de calcul @NONEMPTYTUPLE.
Utilisez le traçage d'interrogation pour faire le suivi et le débogage de la performance des interrogations. Plusieurs paramètres de configuration au niveau de l'application sont offerts, en fonction de votre cas d'utilisation. Utilisez QUERYTRACE pour le débogage à court terme d'une interrogation unique que vous soupçonnez être problématique. Utilisez TRACE_REPORT pour la collecte de statistiques à propos des interrogations exécutées simultanément (idéal pour le débogage dans un environnement de développement). Utilisez LONGQUERYTIMETHRESHOLD dans les environnements de production afin d'afficher les statistiques du fichier journal d'application à propos de toutes les interrogations avec un temps d'exécution supérieur à une valeur définie.