Lorsque vous utilisez Data Gateway ou Remote Data Connector avec Oracle Analytics Cloud, il y a une légère augmentation de la durée d'exécution de chaque interrogation.
Vous ne remarquerez pas la durée supplémentaire lorsque vous exécutez un rapport, car elle est inférieure à 0,3 seconde. En revanche, vous risquez de rencontrer des problèmes de performance si vous exécutez un grand nombre de blocs d'initialisation (le nombre dépend de vos exigences en matière de performance) à chaque fois que quelqu'un se connecte, car les interrogations des blocs d'initialisation sont exécutées en série. Cette rubrique suggère de réduire le nombre de blocs d'initialisation de session.
L'utilisation de l'option différée pour les blocs d'initialisation ne résout pas le problème, car les blocs d'initialisation sont exécutés lorsque vous ouvrez la première page du tableau de bord.
C'est un problème si vous utilisez la solution Oracle BI Applications, car elle exécute plus de 200 blocs d'initialisation. Pour Oracle Analytics Cloud, la meilleure façon d'éviter ces problèmes de performance est de réduire le nombre de blocs d'initialisation.
Oracle recommande les méthodes suivantes pour réduire le nombre de blocs d'initialisation de session :
Par exemple, dans Oracle BI Applications, désactivez les blocs d'initialisation qui référencent les modules Oracle BI Applications que vous n'utilisez plus.
row_wise
qui utilisent la même réserve de connexions et retournent le même type de données en utilisant UNION ALL
entre leurs interrogations.
Par exemple :
Init block 1: query1 Init block 2: query2 Merged init block: query1 union all query2
dual
ou W_DUAL_G
et placez la valeur codée en dur dans l'initialisateur par défaut de la variable correspondante.select
.HIDE
est la valeur courante de ces variables) ou si vous n'utilisez pas Oracle Human Capital Management comme source de données dans Oracle BI Applications (il existe 100 blocs d'initialisation de ce type dans Oracle BI Applications) :
HR xxx Attribute yyy
row_wise
et qui utilisent la même réserve de connexions. Par exemple :
Le bloc d'initialisation 1 est basé sur l'interrogation 1 : select colA from tableA where….
Le bloc d'initialisation 2 est basé sur l'interrogation 2 select colB from tableB where….
Vous pouvez les fusionner en un seul bloc d'initialisation à l'aide d'une interrogation telle que la suivante :
Select MAX(colA), MAX(colB) from ( select cola as cola, null as colB from tableA where…. Union all Select null, colB from tableB where…) tmp
Vous pouvez faire autant d'unions que nécessaire pour extraire toutes les variables de la même réserve de connexions dans une seule interrogation.
Cela n'est pas facile à mettre en oeuvre ou à tenir à jour, et vous risquez de faire des erreurs lorsque vous créez les interrogations et affectez toutes les variables à un seul bloc d'initialisation.
Si vous mettez en oeuvre et gérez avec soin les interrogations et les variables de votre bloc d'initialisation, vous pouvez réduire de manière significative le temps nécessaire à la connexion et à l'affichage de la première page du tableau de bord.