J'ai deux recommandations :
Tri côté serveur
Dans OLE DB Source, changez le mode d'accès en Commande SQL. Et utilisez la clause ORDER BY :
Select * from table ORDER BY col1, col2
Après cela, vous devez ouvrir l'éditeur avancé de la source OLE DB (Clic droit sur la source OLE DB, afficher l'éditeur avancé) allez dans l'onglet colonnes et modifiez la sortie IsSorted
propriété à True
et changez le SortKeyPosition
pour les colonnes utilisées dans la clause ORDER BY.
Lire les données en morceaux
Je n'ai pas une bonne connaissance de la syntaxe MariaDB SQL mais je vais donner quelques exemples dans SQLite et Oracle :
- La lecture d'un énorme volume de données de SQLite vers SQL Server échoue lors de la pré-exécution
- Parvenir au sommet n à n lignes de db2
- SSIS ne parvient pas à enregistrer les packages et à redémarrer Visual Studio
Mise à jour 1 - Problèmes de package
Il y a quelques problèmes dans le paquet :
- Vous lisez et écrivez à partir du même tableau
- Vous effectuez des mises à jour et des suppressions de tables sur une grande quantité de données
- Vous utilisez Merge Join
Quelques recommandations :
- Essayez d'utiliser une table intermédiaire au lieu de lire et d'écrire à partir de la même table puisque vous lisez, écrivez, supprimez, mettez à jour à partir de la même table de destination.
- Utiliser le partitionnement dans la table de destination qui permet de supprimer et de mettre à jour les enregistrements d'une partition spécifique au lieu de la table entière