Udostępnij za pośrednictwem


Planning for Notifications

Aby efektywnie używać kwerendy powiadomień, należy wziąć pod uwagę czy aplikacji mogą korzystać z kwerendy powiadomień, czy kwerendy, że aplikacja używa powiadomienia o pomocy technicznej i strategii aplikacja będzie używać subskrybowanie i powiadomienia.

Kwerendy powiadomień zapewniają wygodny sposób zmniejszyć żądań krążących powinna zostać zminimalizowana do bazy danych, jeśli dane w kwerendzie zmieni się stosunkowo rzadko, jeśli aplikacja nie wymaga chwilowa aktualizacji po zmianie danych, a jeśli kwerendy spełnia wymagania i ograniczenia opisane w Creating a Query for Notification. Wiele aplikacji opartych na sieci Web spełnia tych kryteriów, a te aplikacje mogą korzystać z kwerendy powiadomień.

Nie każdy scenariusz korzysta z powiadomień kwerendy.Kwerendy powiadomień są przydatne w sytuacjach, gdy aplikacja odczytuje dane z bazy danych często, ale w przypadku gdy aktualizacje do danych są stosunkowo rzadkie.Na przykład aplikacja wykazu online będzie przeglądany częściej niż aktualizacji katalogu.W trybie online koszyka zakupów jednak zawartość określonego może uaktualniane dość często, tak, aby powiadomienia kwerendy zawierają mniej korzyści.

Kwerendy powiadomień są bardziej efektywne, gdy aplikacja wysyła kwerendy, które mają wspólną strukturę i różnią się jedynie wartości parametrów.Na przykład:

SELECT ProductNumber, Name FROM Production.Product WHERE ListPrice < 300
SELECT ProductNumber, Name FROM Production.Product WHERE ListPrice < 500

W takim wypadku kwerendy powiadomienie subskrypcji dla obu powiadomienie udostępniania tego samego szablonu wewnętrznego wymagające mniejszym obciążeniu w SQL Server niż dwa powiadomienie strukturze innej kwerendy. Należy zauważyć, jednak zachowana parametrów w kwerendach.Mimo, że kwerendy udostępnić szablonu, Dodawanie element, ListPrice 350 powoduje, że powiadomienie na drugą kwerendę, ale nie na pierwszej.

Kwerendy powiadomień są aktywne dla tabela, są droższe aktualizacje do tabela.The Database Engine performs extra work to check subscriptions and, if necessary, generate notifications.Ponowne używanie szablonów wewnętrznego pomaga zminimalizować obciążenie dla subskrypcja.Dlatego należy użyć kwerendy powiadomień tylko dla aplikacji, które przesyłać kwerendy o podobnej strukturze.Aplikacja, która przesyła kwerendy z różnych struktur nie powinno się używać kwerendy powiadomień.

Na przykład aplikacja, która zawiera wykaz elementów w zakresie danej ceny przesyła kwerendy z taką samą strukturę.W takim przypadek Database Engine można ponownie użyć wewnętrznego szablonu dla każdej kwerendy i kwerendy powiadomień może zwiększyć wydajność. Jednak aplikacja, która umożliwia raportowanie ad hoc przesyła kwerendy o różnej strukturze.W takim przypadek aplikacji, nie należy używać kwerendy powiadomień.

The Database Engine maintains an internal template as long as it is used by at least one registered subskrypcja. The Database Engine limits the number of different internal templates on a specific tabela. Po osiągnięciu tego limitu, Database Engine nie rejestruje powodujących nowego szablonu do utworzenia subskrypcji. Zamiast tego Database Engine generuje natychmiast wiadomość z subskrypcja wskazuje, że nie można zarejestrować subskrypcja.