Имам две препоръки:
Сортиране от страна на сървъра
В OLE DB Source променете режима на достъп на SQL Command. И използвайте клауза ORDER BY:
Select * from table ORDER BY col1, col2
След това трябва да отворите разширен редактор на OLE DB източник (Щракнете с десния бутон върху източника на OLE DB, покажете разширен редактор) отидете в раздела колони и променете изходаIsSorted
свойство на True
и задайте промяна на SortKeyPosition
за колоните, използвани в клаузата ORDER BY.
Четене на данни на части
Нямам добри познания в SQL синтаксиса на MariaDB, но ще дам пример в SQLite и Oracle:
- Четенето на огромен обем данни от Sqlite към SQL Server е неуспешно при предварително изпълнение
- Постигане на върха n до n реда от db2
- SSIS не успява да запази пакети и рестартира Visual Studio
Актуализация 1 – Проблеми с пакета
Има някои проблеми в пакета:
- Вие четете и пишете от една и съща таблица
- Извършвате актуализиране и изтриване на таблици върху голямо количество данни
- Използвате Merge Join
Някои препоръки:
- Опитайте да използвате междинна таблица, вместо да четете и пишете от една и съща таблица, тъй като четете, пишете, изтривате, актуализирате от една и съща целева таблица.
- Използване на разделяне в целевата таблица, което позволява изтриване и актуализиране на записи от конкретен дял вместо цялата таблица