Có ai biết về bất kỳ nhược điểm của MARS (Nhiều Bộ Kết quả Hoạt động) không? Có ai biết lý do tại sao nên tránh sử dụng MARS, chẳng hạn như trường hợp con trỏ hữu ích hơn MARS.
Câu trả lời:
Rõ ràng có ít nhất hai nhược điểm (tiềm năng) đã biết (từ (1) blog Nhóm này ):
Rõ ràng điều này có thể gây ra các vấn đề tiềm ẩn đối với bất kỳ hệ thống cũ nào không được thiết kế để chạy dựa trên thiết kế hỗ trợ MARS - "mã hiện tại được tối ưu hóa để chạy trong thế giới không phải MARS có thể cho thấy hiệu suất giảm nhẹ khi chạy không được sửa đổi với MARS"
“Với MARS, bạn có thể gửi nhiều lô nhiều câu lệnh tới máy chủ. Máy chủ sẽ xen kẽ việc thực thi các lô như vậy, có nghĩa là nếu các lô thay đổi trạng thái máy chủ thông qua các câu lệnh SET hoặc USE, hoặc sử dụng các câu lệnh quản lý giao dịch TSQL (BEGIN TRAN, COMMIT, ROLLBACK), cả bạn và máy chủ đều có thể bị nhầm lẫn về mục đích thực sự của bạn là gì. "
Tôi vẫn chưa thử một thiết kế hỗ trợ MARS, nhưng tôi đang tiến rất gần đến việc làm như vậy cho dự án hiện tại của mình. Chúng tôi gặp phải một vấn đề nhỏ với các hoạt động truy vấn cạnh tranh (và đôi khi phụ thuộc) (như tải dữ liệu cấu hình chậm từ cùng một cơ sở dữ liệu mà một tập bản ghi đang hoạt động đang thực thi).
Có thêm thông tin trên trang MSDN (2) tại đây
[(1) http://blogs.msdn.com/sqlnativeclient/archive/2006/09/27/774290.aspx ]
[(2)http://msdn.microsoft.com/en-us/library/ms131686.aspx ]
tùy thuộc vào cái gì? không có nhược điểm thực sự.
họ không hỗ trợ Điểm lưu giao dịch. nhưng tôi không nghĩ đây là một bất lợi.