Tôi có hai khuyến nghị:
Sắp xếp phía máy chủ
Trong OLE DB Source, thay đổi chế độ truy cập thành SQL Command. Và sử dụng mệnh đề ORDER BY:
Select * from table ORDER BY col1, col2
Sau đó, bạn nên mở trình chỉnh sửa nâng cao Nguồn OLE DB (Nhấp chuột phải vào nguồn OLE DB, hiển thị trình chỉnh sửa nâng cao) chuyển đến tab cột và thay đổi đầu ra IsSorted
thuộc tính thành True
và thiết lập thay đổi SortKeyPosition
cho các cột được sử dụng trong mệnh đề ORDER BY.
Đọc dữ liệu theo từng phần
Tôi không có kiến thức tốt về cú pháp MariaDB SQL nhưng tôi sẽ cung cấp một số ví dụ về SQLite và Oracle:
- Đọc khối lượng dữ liệu khổng lồ từ Sqlite sang SQL Server không thành công khi thực thi trước
- Bắt đầu n đến n hàng từ db2
- SSIS không thể lưu các gói và khởi động lại Visual Studio
Cập nhật 1 - Sự cố gói
Có một số vấn đề trong gói:
- Bạn đang đọc và viết trên cùng một bảng
- Bạn đang thực hiện Cập nhật và xóa bảng trên một lượng lớn dữ liệu
- Bạn đang sử dụng Merge Join
Một số đề xuất:
- Hãy thử sử dụng bảng dàn trang thay vì đọc và ghi từ cùng một bảng vì bạn đang đọc, ghi, xóa, cập nhật từ cùng một bảng đích.
- Sử dụng phân vùng trong bảng đích cho phép xóa và cập nhật các bản ghi từ một phân vùng cụ thể thay vì toàn bộ bảng