Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

.NET SqlDependency với nhiều thông báo so với bỏ phiếu tỷ lệ cao?

SqlDependency sẽ chỉ thông báo cho bạn rằng một thay đổi đã xảy ra và bạn sẽ phải đọc lại toàn bộ bảng. Nó hoạt động tốt với tỷ lệ thông báo thấp. Ở mức cao, bạn phải xem xét rằng các thông báo có một chi phí đáng kể. Xem Thông báo bí ẩn để biết thêm chi tiết về cách hoạt động của SqlDependency. Như bạn có thể thấy, có một chi phí đáng kể:

  • thiết lập thông báo (viết trong sys.dm_qn_subscriptions và trong bảng hệ thống SSB)
  • kích hoạt thông báo (viết sys.dm_qn_subscriptions)
  • gửi thông báo (ghi vào bảng hệ thống SSB, hàng đợi đích)
  • nhận thông báo (ghi vào hàng đợi đích, bảng hệ thống SSB)

Đó là khá nhiều lần viết, chi phí sẽ tăng lên nhanh chóng nếu bạn nhận được thông báo liên tục.

Nhưng câu hỏi thực sự là bạn muốn phản ứng chính xác như thế nào trong ứng dụng với tốc độ thay đổi liên tục? bạn muốn biết cái gì, cái đó cái gì đó đã thay đổi? tốt, bạn biết đấy, nó luôn luôn như vậy, bất cứ lúc nào ứng dụng cần dữ liệu, nó sẽ đọc trạng thái mới nhất tốt hơn, bởi vì nó chắc chắn đã thay đổi. Việc thăm dò ý kiến ​​cũng không có ý nghĩa. Có vẻ như những gì bạn thực sự muốn là thay đổi theo dõi hoặc nhiều khả năng hơn, dựa trên tùy chỉnh hàng đợi thay đổi được cung cấp bởi những người khởi tạo thay đổi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm các ký tự không phải ASCII trong các cột varchar bằng SQL Server

  2. Chèn nhiều hàng KHÔNG lặp lại phần CHÈN VÀO ... của câu lệnh?

  3. Sử dụng số thực hoặc số thập phân cho ứng dụng kế toán số tiền?

  4. pyodbc.connect () hoạt động nhưng không hoạt động với sqlalchemy.create_engine (). connect ()

  5. Bảng SQL Server:sự khác biệt giữa @, # và ## là gì?