Chúng tôi sử dụng thiết bị SQL Server PDW cho kho dữ liệu của mình. Một trong những bảng trong kho của chúng tôi là một bảng được nhân rộng với khoảng 20 triệu hàng. Là một phần của quy trình ETL, chúng tôi cần hết hạn các hồ sơ cũ từ chiều này; tuy nhiên, chúng tôi đang thấy rằng việc cập nhật một số ít hồ sơ (<100) mất hơn 1 giờ để hoàn thành. Đây là những gì tôi muốn cải thiện nếu tôi có thể.
Đương nhiên, một tùy chọn mà tôi nghĩ đến là thay đổi Thứ nguyên này từ Được sao chép thành Phân phối. Thử nghiệm của tôi cho thấy rằng nó sẽ khắc phục sự cố với quy trình ETL mất nhiều thời gian (từ 1,5 giờ xuống còn 30 giây) nhưng tất cả các liên kết với phiên bản Phân tán của kích thước này sẽ bị ảnh hưởng do các liên kết gần như không bao giờ dựa trên cùng một phân phối cột. Khi tôi nhìn vào kế hoạch thực hiện của một số các truy vấn này, tôi thường thấy một hoạt động ShuffleMove hoặc BroadcastMove .
Vì vậy, câu hỏi của tôi cho guru PDW ở đây là:
Có điều gì khác có thể được thực hiện để cải thiện hiệu suất cập nhật hồ sơ trong phiên bản sao chép của Thứ nguyên này không?
Một lần nữa, chuyển sang bảng Phân phối dường như không phải là giải pháp tốt nhất vì nó sẽ ảnh hưởng đến hàng trăm truy vấn và báo cáo SQL đã được viết bởi người khác.