Có ai biết về bất kỳ bất lợi nào của MARS (Nhiều bộ kết quả hoạt động) không? Có ai biết bất kỳ lý do tại sao người ta nên tránh sử dụng MARS, như trường hợp con trỏ có ích hơn sau đó MARS.Nhược điểm của MARS (Nhiều bộ kết quả hoạt động)?
Trả lời
Có vẻ như ít nhất hai tiếng (tiềm năng) nhược điểm (từ này (1) Team blog):
Rõ ràng điều này có thể gây ra vấn đề tiềm năng cho bất kỳ hệ thống di sản đó không được thiết kế để chạy chống lại một MARS kích hoạt thiết kế - "mã hiện tối ưu hóa để chạy trong thế giới phi-MARS có thể hiển thị một màn trình diễn sự sụt giảm nhẹ khi chạy un-sửa đổi với MARS"
“với MARS bạn có thể gửi nhiều mu lti-statement batches đến máy chủ. Máy chủ sẽ xen kẽ việc thực hiện các lô đó, 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, ví dụ, 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ề những gì ý định thực sự của bạn là.”
tôi chưa thử một MARS kích hoạt thiết kế, nhưng tôi đang đến rất gần với làm như vậy về dự án hiện tại của tôi. Chúng tôi có một vấn đề nhỏ với các hoạt động truy vấn cạnh tranh (và đôi khi phụ thuộc) (giống như dữ liệu cấu hình tải lười ra khỏi cùng một cơ sở dữ liệu mà một recordset đang hoạt động đang thực thi).
Có thêm thông tin trên trang web MSDN (2) here
[(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 nội dung gì? không có bất lợi thực sự.
chúng không hỗ trợ Điểm lưu lượng giao dịch. nhưng tôi không nghĩ đây là một bất lợi.
- Phải mất nhiều tài nguyên máy chủ hơn một lần làm một kết nối tại một thời điểm.
- Bạn phải chạy SQL Server 2005 trở lên. Vì vậy, đó có thể là một vấn đề trong môi trường di sản (ack!).
bạn cna sử dụng SqlTransaction tốt. –
Tài nguyên máy chủ nhiều hơn một chút là bao nhiêu? Bạn có thể đặt một ước tính về nó về bộ nhớ hoặc CPU? Tôi quan tâm đến điều này chủ yếu là bởi vì tôi đang ở trong một môi trường Azure, nơi tài nguyên tỷ lệ thuận với chi phí của máy chủ. –
- 1. Nhược điểm của việc sử dụng MARS (nhiều bộ kết quả hoạt động)
- 2. ServiceStack MARS (Nhiều bộ kết quả hoạt động) sử dụng ORMLite và tham số đầu ra
- 3. Mẫu "Một hoạt động, nhiều chế độ xem": Ưu điểm và nhược điểm
- 4. Ưu điểm/nhược điểm của các con trỏ tự động
- 5. Ưu điểm và nhược điểm của từ khóa 'động' 4.0?
- 6. Nhược điểm của việc có nhiều chỉ số là gì?
- 7. Nhược điểm của CouchDB
- 8. Nhược điểm của Lazy <T>?
- 9. Ưu điểm & nhược điểm của DotNetNuke?
- 10. Ưu điểm và nhược điểm của BPMN?
- 11. Ưu điểm và nhược điểm của NHibernate
- 12. Nhược điểm của Khóa hàng MySQL
- 13. Queries trở về kết quả nhiều bộ
- 14. Kết quả Điểm Lucene
- 15. Nhược điểm của Javascript "mẫu var đơn"
- 16. Nhược điểm của việc tách mã JavaScript?
- 17. SELECT * - ưu/nhược điểm
- 18. Ưu điểm/nhược điểm của .NET 64 bit là gì?
- 19. Ưu điểm và nhược điểm của DDD Repositories
- 20. Nhược điểm của ánh xạ quan hệ đối tượng
- 21. Nhược điểm của việc sử dụng Basic4Android?
- 22. Mục tiêu-C - Nhược điểm để kết nối với C++?
- 23. Ưu điểm/nhược điểm của việc sử dụng bộ ria mép với Backbone.js là gì?
- 24. Hoạt động thứ ba được gọi là trả về kết quả của hoạt động đầu tiên thay vì gửi kết quả cho hoạt động thứ hai?
- 25. Kết quả của bộ lọc Jinja
- 26. Thủ tục lưu trữ trả về nhiều bộ kết quả
- 27. Những nhược điểm của việc biên dịch JIT là gì?
- 28. NHibernate dynamic-update Nhược điểm?
- 29. Ưu điểm và nhược điểm của Model-View-Controller
- 30. Ưu điểm/nhược điểm của IIS Web Garden
Trước khi áp dụng giải pháp tuyệt vời @RobS, tôi đã đọc bài viết này trước để đảm bảo bạn không thể giải quyết vấn đề này bằng giải pháp sau: http://devproconnections.com/development/solving-net-scalability-problem HOẶC thêm .ToList() để kết thúc cuộc gọi DB của bạn, giải quyết vấn đề của tôi. Btw, Cảm ơn RobS vì lời khuyên tuyệt vời, MARS sẽ có ích trong tương lai. :) – Termato