Công ty của tôi bị nguyền rủa bởi quan hệ đối tác cộng sinh chuyển thành ký sinh trùng. Để lấy dữ liệu của chúng tôi từ ký sinh trùng, chúng tôi phải sử dụng kết nối odbc chậm chạp. Tôi đã thông báo gần đây mặc dù tôi có thể nhận được thông lượng nhiều hơn bằng cách chạy các truy vấn song song (ngay cả trên cùng một bảng).Cách nhanh nhất để chèn song song với một bảng duy nhất
Có một bảng đặc biệt lớn mà tôi muốn trích xuất dữ liệu và chuyển nó vào bảng cục bộ của chúng tôi. Chạy truy vấn song song tôi có thể nhận dữ liệu nhanh hơn, nhưng tôi cũng tưởng tượng rằng điều này có thể gây ra vấn đề với việc cố gắng ghi dữ liệu từ nhiều truy vấn vào cùng một bảng cùng một lúc.
Bạn có thể đưa ra lời khuyên nào về cách xử lý tốt nhất tình huống này để tôi có thể tận dụng tối đa tốc độ sử dụng truy vấn song song?
EDIT: Tôi đã nhận được một số phản hồi tuyệt vời ở đây, nhưng tôi nghĩ rằng tôi không hoàn toàn rõ ràng về thực tế là tôi đang kéo dữ liệu qua máy chủ được liên kết (sử dụng trình điều khiển odbc). Nói cách khác có nghĩa là tôi có thể chạy các câu lệnh INSERT bình thường và tôi tin rằng sẽ cung cấp hiệu suất tốt hơn SqlBulkCopy hoặc INSUL BULK (thực ra, tôi không tin rằng INSUL BULK thậm chí sẽ là một lựa chọn).
Như bạn đã đề xuất, viết song song có thể sẽ không giúp hiệu suất. Bạn có thể tìm thấy một số câu trả lời ở đây http://stackoverflow.com/questions/2861944/how-do-i-do-very-fast-inserts-to-sql-server-2008 –
Bạn có đang di chuyển dữ liệu không? Tôi hỏi vì bạn đã nói dữ liệu di chuyển của bạn đến các bảng cục bộ. Ngoài ra làm thế nào bạn làm điều này trong mã ví dụ như C# hoặc là một phần của một công việc sql? –
@mouters Có, nhưng dữ liệu mới không đi vào cơ sở dữ liệu của chúng tôi vì vậy tôi sẽ phải sao chép mọi thứ mới trên cơ sở hàng ngày. Cho đến nay tôi đã làm nó trong ssms bằng tay nhưng ý tưởng song song sẽ được thực hiện trong C# nếu tôi làm điều đó. Có lẽ sẽ không làm điều này một song song b/c Tôi đã nhận tất cả các dữ liệu lịch sử bây giờ và thực sự chỉ cần thiết lập một công việc sql để chạy và nhận được dữ liệu mới hàng đêm. Nhưng tôi chỉ muốn nhận được một số thông tin về ý tưởng b/c tôi có thể đã sử dụng cho nó trong tương lai gần trên các công cụ khác. –