Welcome Guest! Log in
×

Notice

The forum is in read only mode.
Stambia versions 2.x, 3.x, S17, S18, S19 and S20 are reaching End of Support January, 15th, 2024. Please consider upgrading to the supported Semarchy xDI versions. See Global Policy Support and the Semarchy Documentation.

The Stambia User Community is moving to Semarchy! All the applicable resources have already been moved or are currently being moved to their new location. Read more…

Topic-icon Solved Amélioration du template INTEGRATION Mssql.tp (si suppression de donnée)

More
22 Nov 2018 11:01 #1 by Benjamin M.
Bonjour,

L'année dernière, vous avez ajouté la possibilité de supprimer des lignes via une clef avant l'insertion dans le template INTEGRATION Rdbms.tp.proc. J'utilise cette possibilité qui fonctionne très bien mais qui pourrait, je pense, être améliorée en supprimant certaines étapes du template dans certaines conditions.

Actuellement, si je configure l'insertion dans une table comme suit :



Je vais donc :
Générer ma table d'intégration
Supprimer les lignes qui valident ma clef
Créer un index
Vérifier si des lignes doivent être mise à jour
Insérer mes lignes
Supprimer ma table d'intégration


Dans mon cas, les lignes à supprimer sont liées à celles que je vais insérer (je fais un annule et remplace sur cette clef). Je sais donc que je n'aurais pas de mise à jour à faire. 2 étapes sont donc inutiles:
Créer un index
Vérifier si des lignes doivent être mise à jour

D'habitude, on peut ne pas générer de table d'intégration en utilisant le Append mode (il me semble) ce qui fait gagner le temps des 2 étapes ci-dessus et plus encore. Dans le cas d'une utilisation de la fonction de suppression des données, on ne peut pas sinon le template plante car il n'a pas la table source (intégration) pour procéder à la suppression dans la table cible.

J'ai modifié le template en ajoutant un paramètre "justInsert" qui est à false par défaut :



Ce paramètre va permettre lorsqu'on est dans la partie integration du template de suivre le même chemin que le Append Mode et de ne faire que le Insert :




Les performances sont clairement améliorées puisque je ne crée pas d'index inutile et ne test pas les lignes à mettre à jour (je sais qu'il n'y en a aucune). Je sais que je gagnerais un temps non négligeable ce process étant lancé des milliers de fois par jour.

Est-il envisageable que vous fassiez évoluer le template dans ce sens car je pense que cela serait utile à de nombreuse personne .? (Je peux fournir mon template de test).

J'ai essayé de faire la même chose pour la partie update (justUpdate) mais c'est une mauvaise idée, l'index ayant tout son sens pour la mise à jour et la comparaison de donnée. Il est tout de même possible si l'on ajoute un paramètre "justUpdate" de générer la table d'intégration avec le flag à U afin de ne pas faire l'étape "Determination of what could be updated (uk)".

Il est possible que je fasse fausse route, auquel cas, merci de me l'indiquer :).

Cdt,
Benjamin
Attachments:
More
13 Dec 2018 17:18 #2 by fmo
Bonjour,

Merci beaucoup pour ce retour sur nos templates et ces propositions d'évolution ! Ce que vous décrivez paraît tout à fait pertinent, nous allons regarder plus en détail et si les modifications sont validées et passent les tests elles seront incluses dans les prochaines versions de ces templates. Nous vous informerons en tous cas de l'évolution de ce sujet.

Encore une fois merci à vous de faire profiter la communauté de vos réflexions et améliorations.

Cordialement,
Florian MORELLO