Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

.NET SqlDependency dengan banyak notifikasi vs. polling tingkat tinggi?

SqlDependency hanya akan memberi tahu Anda bahwa terjadi perubahan, dan Anda harus membaca ulang seluruh tabel. Ini bekerja dengan baik dengan tingkat notifikasi yang rendah. Pada tingkat tinggi, Anda harus mempertimbangkan bahwa pemberitahuan memiliki biaya yang signifikan. Lihat Pemberitahuan Misterius untuk detail lebih lanjut cara kerja SqlDependency. Seperti yang Anda lihat, ada biaya yang signifikan:

  • menyiapkan notifikasi (menulis di sys.dm_qn_subscriptions dan di tabel sistem SSB)
  • menyalakan notifikasi (menulis sys.dm_qn_subscriptions)
  • menyampaikan notifikasi (menulis dalam tabel sistem SSB, antrian target)
  • menerima notifikasi (menulis dalam antrian target, tabel sistem SSB)

Itu cukup banyak menulis, biayanya akan bertambah dengan cepat jika Anda terus-menerus diberi tahu.

Tetapi pertanyaan sebenarnya adalah bagaimana tepatnya Anda ingin bereaksi dalam aplikasi terhadap laju perubahan yang konstan? apa yang ingin kamu ketahui, sesuatu itu berubah? Yah, Anda tahu, selalu begitu, setiap kali aplikasi membutuhkan data, lebih baik membaca status terbaru, karena itu pasti berubah. Polling juga tidak masuk akal. Kedengarannya seperti yang Anda inginkan adalah perubahan pelacakan atau, kemungkinan besar, antrean perubahan diberi makan oleh pencetus perubahan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengumpulan di SQL Server

  2. Setara dengan LIMIT dan OFFSET untuk SQL Server?

  3. Waktu Query SQL Server habis tergantung pada Where Clause

  4. SQL Server:Klausa di mana dinamis

  5. SQL Server Ubah Lokasi File TempDB