Ich habe zwei Empfehlungen:
Serverseitige Sortierung
Ändern Sie in OLE DB-Quelle den Zugriffsmodus auf SQL-Befehl. Und verwenden Sie die ORDER BY-Klausel:
Select * from table ORDER BY col1, col2
Danach sollten Sie den erweiterten Editor der OLE DB-Quelle öffnen (Rechtsklick auf die OLE DB-Quelle, erweiterten Editor anzeigen) Gehen Sie zur Registerkarte Spalten und ändern Sie die AusgabeIsSorted
-Eigenschaft auf True
und ändern Sie die SortKeyPosition
für die in der ORDER BY-Klausel verwendeten Spalten.
Daten in Blöcken lesen
Ich habe keine guten Kenntnisse in MariaDB SQL-Syntax, aber ich werde einige Beispiele in SQLite und Oracle geben:
- Das Lesen großer Datenmengen von SQLite nach SQL Server schlägt bei der Vorabausführung fehl
- Nach oben kommen n bis n Zeilen von db2
- SSIS kann Pakete nicht speichern und startet Visual Studio neu
Update 1 - Paketprobleme
Es gibt einige Probleme im Paket:
- Sie lesen und schreiben aus derselben Tabelle
- Sie aktualisieren und löschen Tabellen für eine große Datenmenge
- Sie verwenden Merge Join
Einige Empfehlungen:
- Verwenden Sie eine Staging-Tabelle, anstatt aus derselben Tabelle zu lesen und zu schreiben, da Sie aus derselben Zieltabelle lesen, schreiben, löschen und aktualisieren.
- Verwenden Sie die Partitionierung in der Zieltabelle, die es ermöglicht, Datensätze aus einer bestimmten Partition anstelle der gesamten Tabelle zu löschen und zu aktualisieren