Tôi có một vài bảng lớn (hàng 188m và 144m) tôi cần điền từ các khung nhìn, nhưng mỗi khung nhìn chứa một vài trăm triệu hàng (kết hợp với nhau dữ liệu mô hình giả theo dạng phẳng). Các phím trên mỗi bảng là hơn 50 byte tổng hợp của các cột. Nếu dữ liệu nằm trong các bảng, tôi luôn có thể nghĩ về việc sử dụng sp_rename để tạo một bảng mới khác, nhưng đó không thực sự là một lựa chọn.Hàng loạt cam kết về hoạt động INSERT lớn trong SQL nguyên gốc?
Nếu tôi thực hiện một thao tác INSERT duy nhất, quy trình sử dụng một lượng lớn không gian nhật ký giao dịch, điển hình là gửi nó lên và nhắc nhở một loạt các rắc rối với các DBA. (Và có, đây có thể là công việc mà các quản trị viên cần xử lý/thiết kế/kiến trúc sư)
Tôi có thể sử dụng SSIS và truyền dữ liệu vào bảng đích với các lần commit hàng loạt (nhưng điều này yêu cầu dữ liệu phải được truyền qua mạng , vì chúng tôi không được phép chạy các gói SSIS trên máy chủ).
Bất kỳ điều nào khác ngoài việc chia quá trình thành nhiều thao tác INSERT bằng cách sử dụng một số loại khóa để phân phối các hàng thành các lô khác nhau và thực hiện một vòng lặp?
Nếu phân vùng bảng là một tùy chọn, bạn có thể chia các giá trị chèn bằng giá trị phân vùng. Có thể làm cho nó nhanh hơn để kết hợp lại với nhau các tập con kết quả. –