Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Forum

Trouvez des réponses, posez des questions, et partagez votre expertise d’Alteryx.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index

optimiser les jointures

ls_ITM
Météore

Bonjour,

 

j'ai une dizaine de bases contenant des informations pour 10 millions d'individus.

j'ai besoin de faire une base globale à l’individu avec tous les indicateurs des différentes bases

mais je rencontre des gros problèmes de performances.

 

en terme d'outils, vaut-il mieux

 

1°/ utiliser la jointure en intégrant les bases une par une  :

 

2°/ utiliser l'outil plusieurs jointures directement puis filtrer sur les individus qui m’intéressent ?

jointure2.JPG

 

y'a t-il des pistes d’optimisation (tri  des données, tables intermédiaires...) pour accélérer le traitement ?

merci de votre aide,

Laurence

 
 
4 RÉPONSES 4
Ladarthure
14 - Magnetar
14 - Magnetar

Bonjour @ls_ITM,

 

des différents tests que j'ai pu effectuer:

  • Multi-join
    • un peu plus performant que des joins classiques qui s'enchaînent, par contre beaucoup moins flexible

 

Un autre élément à prendre en compte est l'origine de vos données, est ce que ce sont des fichiers, si oui quel format utilisez vous?

Si ce sont des données issues de bases de données sql (par exemple), pourquoi ne pas déporter ce traitement vers les serveurs Sql en utilisant les outils in-database? 

Si ce sont des fichiers que vous générez, je vous conseillerais d'utiliser au choix du yxdb (optimisé pour alteryx), ou même éventuellement du format calgary qui brille en cas de grande volumétrie et qui permet la création d'indexes.

 

en espérant que cela permette de faire avancer votre réflexion.

WilliamR
Alteryx
Alteryx

Bonjour @ls_ITM ,

avez-vous réussi à résoudre votre problème ?

En terme de performance tout dépend de plusieurs facteurs, notamment la taille en mémoire que vont prendre vos données.

Il est préférable de filtrer en amont avant de faire les jointures sachant que même l'organisation des filtres si vous avez plusieurs conditions a son importance.

 

Quelques pistes pour vous aider:

https://community.alteryx.com/t5/Forum-Francais/Tips-de-la-semaine-9-Des-jointures-plus-performantes...

https://community.alteryx.com/t5/Base-de-Connaissance-Francais/Filtre-complexe-Vs-Filtres-simples-en...

 

Si vous souhaitez plus d'information, il faudrait nous faire parvenir un workflow d'exemple.

 

Cordialement.

 

Si ce post vous aide, merci de le considérer comme solution acceptée afin que d'autres utilisateurs puissent le retrouver plus facilement.

Bonjour,

 

Quelques pistes : 

-effectuer des jointures sur des entiers

-dans vos paramètres utilisateurs, bien régler la quantité de RAM, cela évitera avec un peu de chance une écriture sur le disque.

-ne garder en amont que les lignes et les colonnes qui vous intéressent

Cordialement,

 

Simon

StephV
Alteryx Alumni (Retired)

Salut @ls_ITM Merci pour ta question ! Si ces réponses t'ont aidé, n'hésite pas à "l'Accepter comme solution", elle aidera d'autres utilisateurs 😉

 

Merci ! 

Steph Vitale-Havreng
Étiquettes