SqlDependency kommer bara att meddela dig att en ändring har inträffat, och du måste läsa hela tabellen igen. Det fungerar bra med en låg andel aviseringar. I hög takt måste du tänka på att aviseringar har en betydande kostnad. Se Det mystiska meddelandet för mer information om hur SqlDependency fungerar. Som du kan se finns det betydande kostnader:
- konfigurera aviseringen (skriva i sys.dm_qn_subscriptions och i SSB-systemtabeller)
- aktiverar aviseringen (skriver sys.dm_qn_subscriptions)
- leverera aviseringen (skriver i SSB-systemtabeller, målkö)
- ta emot aviseringen (skriver i målkö, SSB-systemtabeller)
Det är en hel del skriver, kostnaden kommer att öka snabbt om du får besked hela tiden.
Men den verkliga frågan är hur exakt du vill reagera i ansökan på en konstant förändringstakt? vad vill du veta, det där något ändrats? Tja, du vet, det gör det alltid, när som helst applikationen behöver informationen läser den bättre det senaste tillståndet, eftersom det verkligen har förändrats. Omröstning är inte heller meningsfullt. Låter som att det du verkligen vill är antingen ändring spårning eller, mer troligt, en anpassad kö av ändringar matas av förändringsupphovsmännen.