Tôi có một bảng CurrentStatus
trong cơ sở dữ liệu của tôi (cơ sở dữ liệu thuê bao trong một bản sao merge) Cột là StatusID {Primary Key + Clustered Index}, StatusName, StatusDate, UserID,CreatedDate, ModifiedDate, ModifiedBy, AllowDelete,AllowUpdate
Simple truy vấn cập nhật được dùng quá lâu
CurrentStatus bảng như 26000 hàng
cập nhật và xóa trên bảng này là đột nhiên mất quá nhiều thời gian nói 1 phút 30 giây đến 5 phút.
Truy vấn bên dưới sẽ mất hơn một phút để thực thi.
update StatusMaster set StatusName='OK' where StatusID = 22
Có trước đây 5 chỉ số trên bảng (thậm chí sau đó truy vấn sử dụng để thực hiện nhanh chóng.) Bây giờ là cập nhật/xóa các truy vấn không được thực hiện, tôi đã xóa tất cả các chỉ số và chỉ giữ lại hai chỉ số 1) Chỉ mục được nhóm trên StatusID 2) Chỉ mục sao chép trên cột rowguid là một chỉ mục nonclustered duy nhất được tạo ra bởi bản sao tự động.
Tôi sẽ sao lưu và khôi phục cơ sở dữ liệu, các truy vấn trên cùng một bảng chạy tốt.
Một điều nữa là tôi có truy vấn phức tạp chạy mỗi 2 phút từ khoảng 20 máy trên máy chủ.
Điều gì khiến cho các truy vấn này tốn quá nhiều thời gian để thực thi?
là bản sao đang chạy khi bạn thực hiện các thử nghiệm này? Nếu DB là người đăng ký, bạn thực sự không nên xóa \ đang cập nhật dữ liệu của nó, phải không? – Diego
Vui lòng không đăng trong TẤT CẢ CAPS. Đó là thô lỗ, và có vẻ như bạn đang "la hét". –
@Diego có sao chép đang chạy + sao chép hợp nhất của nó để chèn cập nhật có thể hoạt động trên bất kỳ người đăng ký và nhà xuất bản – Thakur