Détails sur l'optimisation en base de données
L'optimisation en base de données permet d'éviter de copier les ID de la base de données sur le serveur IBM® Campaign à des fins de traitement, chaque fois que cela est possible. Cette option peut améliorer les performances de diagramme.
L'optimisation en base de données détermine :
*
*
Lorsque l'optimisation en base de données est active :
*
*
L'optimisation en base de données affecte la consommation d'unité centrale :
*
*
Vous pouvez appliquer l'optimisation en base de données globalement et remplacer le paramètre global pour des diagrammes individuels. La meilleure pratique consiste à désactiver le paramètre de configuration global (useInDbOptimization) et à définir l'option au niveau du diagramme (Paramètres avancés > Admin > Utiliser les optimisations de BD durant l'exécution diagramme).
*
Limitations de l'optimisation en base de données
*
*
Selon la logique requise, certaines fonctions continuent d'être effectuées sur le serveur IBM® Campaign, même si le traitement en base de données est activé. Voici des exemples :
*
Par exemple, si un processus de sélection interroge différentes sources de données, IBM® Campaign stocke automatiquement les listes d'ID sur le serveur d'applications.
*
Par exemple, pour calculer une zone dérivée, IBM® Campaign évalue la formule de la zone dérivée afin de déterminer si une partie du calcul peut être effectuée à l'aide d'une instruction SQL. Si de simples instructions SQL peuvent être utilisées, le calcul s'effectue "en base de données". Dans le cas contraire, des tables temporaires sont créées sur le serveur IBM® Campaign pour traiter les calculs et conserver les résultats de processus en processus dans un diagramme.
Traitement de SQL brut dans les macros
Les macros personnalisées constituées d'instructions SQL brutes peuvent être traitées "en base de données", conformément aux instructions suivantes :
*
Toutes les macros personnalisées SQL brutes doivent commencer par select et contenir un élément from et un seul dans le reste du texte.
*
Pour les bases de données qui ne prennent en charge que la syntaxe "insert into <TempTable>", vous devez mapper au moins une table de base à la même source de données et au même niveau d'audience que la macro personnalisée SQL brute. Si les zones sont sélectionnées par la macro personnalisée SQL brute sont trop grandes pour les zones de la table temporaire, une erreur d'exécution se produit.
*
Si vous utilisez une requête SQL brute dans un processus de sélection qui comporte une cible source, vous devez utiliser le jeton <TempTable> pour obtenir la liste correcte des ID d'audience. Utilisez également le jeton <OutputTempTable> pour empêcher l'extraction des ID d'audience d'une base de données vers le serveur IBM® Campaign.
*