Saya punya dua rekomendasi:
Penyortiran sisi server
Di OLE DB Source ubah mode akses ke Perintah SQL. Dan gunakan klausa ORDER BY:
Select * from table ORDER BY col1, col2
Setelah itu Anda harus membuka OLE DB Source advanced editor (Klik kanan pada OLE DB source, show advanced editor) buka tab kolom dan ubah outputIsSorted
properti ke True
dan atur ubah SortKeyPosition
untuk kolom yang digunakan dalam klausa ORDER BY.
Membaca data dalam potongan
Saya tidak memiliki pengetahuan yang baik dalam sintaks MariaDB SQL tetapi saya akan memberikan beberapa contoh dalam SQLite dan Oracle:
- Membaca volume data yang besar dari Sqlite ke SQL Server gagal saat pra-eksekusi
- Mendapatkan yang teratas n sampai n baris dari db2
- SSIS gagal menyimpan paket dan mem-boot ulang Visual Studio
Pembaruan 1 - Masalah paket
Ada beberapa masalah dalam paket:
- Anda membaca dan menulis dari tabel yang sama
- Anda sedang melakukan Perbarui dan hapus tabel pada data dalam jumlah besar
- Anda menggunakan Gabung Gabung
Beberapa rekomendasi:
- Coba gunakan tabel staging daripada membaca dan menulis dari tabel yang sama karena Anda membaca, menulis, menghapus, memperbarui dari tabel tujuan yang sama.
- Gunakan partisi di tabel tujuan yang memungkinkan untuk menghapus dan memperbarui catatan dari partisi tertentu, bukan seluruh tabel