Aracılığıyla paylaş


Bildirimler için planlama

Uygulama Destek bildirimleri ve stratejisini kullanan sorguları uygulamanızı abone olma ve bildirimleri almak için kullanıp kullanmayacağını sorgu bildirimleri etkin biçimde kullanmak için uygulamanızın sorgu bildirimleri, fayda dikkate almalısınız.

Sorgu bildirimleri uygulama veriler değiştiğinde bir anlık güncelleştirme gerekmiyorsa sorgudaki verileri oldukça seyrek değişirse ve sorgu gereksinimlerini karşıladığından ve kısıtlamaları özetlenen veritabanına gidiş-dönüş azaltmak için elverişli bir yol sağlar Bildirim için bir sorgu oluşturma.Birçok Web tabanlı uygulamalar bu ölçütlere uyan ve bu uygulamaların sorgu bildirimleri yararlanabilirsiniz.

Her senaryo için Sorgu bildirimleri yararlı olur.Sorgu bildirimleri, burada bir uygulama verilerini veritabanından sık sık, ancak burada veri güncelleştirmeleri nispeten azdır okur durumlarda kullanışlıdır.Örneğin, bir çevrimiçi katalog uygulama katalog güncelleştirme daha sık görünecek.Sorgu bildirimleri daha az fayda sağlamak için bir çevrimiçi alışveriş sepeti için ancak belirli bir içeriği oldukça sık sık güncelleştirilmesi.

Sorgu bildirimleri, ortak bir yapıya sahiptir ve yalnızca parametrelerin değerlerini farklılık sorguları bir uygulama sorunları daha verimli olur.Örneğin:

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

Bu durum, sorgu Bildirimi abonelikleri için her iki bildirim gerektiren daha az ek yük de aynı iç şablon paylaşmak 'denSQL Server iki bildirim farklı sorgu yapısı.Ancak, sorgularda parametreleri korunur dikkat edin.Sorguları bir şablon paylaşmak olsa bile, öğe ekleyerek bir ListPrice 350 ikinci sorgu ancak ilk bildirim neden olur.

Sorgu bildirimleri tablo üzerinde etkin olduğunda, tabloya daha pahalı güncelleştirmelerdir.The Veritabanı Altyapısı performs extra work to check subscriptions and, if necessary, generate notifications.İç Şablonlar kullanma yardımcı başına yükü en aza indirmek için abonelik.Bu nedenle, sorgu bildirimleri yalnızca sorguları ile benzer bir yapıya gönderme uygulamalar için kullanmanız gerekir.Farklı yapıları ile sorgular gönderen uygulama sorgu bildirimleri kullanmanız gerekir.

Örneğin, belirli bir fiyat Kataloğu öğeleri gösteren bir uygulama aralık aynı yapıya sahip bir sorgu gönderir.Bu durum, Veritabanı Altyapısı yeniden iç şablon için her sorgu ve sorgu bildirimleri geliştirin performans.Ancak, bir uygulama sağlayan ad hoc raporlama değişen yapısı ile sorgular gönderir.Bu durum, uygulama sorgu bildirimleri kullanmanız gerekir.

The Veritabanı Altyapısı maintains an internal template as long as it is used by at least one registered subscription.The Veritabanı Altyapısı limits the number of different internal templates on a specific table.Bu sınıra ulaşıldığında, Veritabanı Altyapısı oluşturulacak yeni bir şablon neden abonelikleri kaydetmez.Bunun yerine, Veritabanı Altyapısı hemen abonelik kaydedilememiş belirten bir abonelik iletisi üretir.

Bir verimli sorgu bildirimleri stratejisini planlama

Sorgu bildirimleri genellikle çok iyi toplam bildirim sayısı Orta olarak hafif olduğu ve uygulama veri değiştiğinde anlık bildirim yanıt saat gerektirmez çalışır.Tipik Web Katmanı önbellek örneğin senaryo bu model ve doğruyu sorgu bildirimleri kullanmak için iyi bir uygulama olma eğilimindedir.Sorgu bildirimleri bildirimleri bir saniyeden az sürelerde yanıtlama saati hızlı ve güvenilir ağ altyapısı veya bildirimleri hacmini çok yüksek olduğunda alınması gerektiği saat uygulamalar için en iyi seçim olmayabilir.

Sorgu bildirimleri kullanırken, sına ve uygulamanızın ölçekte ve dağıtıldığında nerede çalışacağı ortamdaki ayarla.Heaviest beklenen yükü ile gerçek dünyada durum Kullan senaryoyu inceleyin ve yüksek etkinliği için WINS'e olasılığı ortaya çıkabilir, plan.

Sorgu bildirimleri, güvenilir bir saniyeden az sürelerde sorgu bildirimleri gereken bir durumda kullanıyorsanız, tüm yüksek performanslı oltp uygulamaları için de geçerli, sorgu Bildirimleri uygulamasının teknikleri uygulanır.

  • Uygulamanız için ikinci bir bölümünü daha uzun kilitleri tuttuğunuzdan emin olun.Örneğin, multi-deyim hareketlerinden çalıştırmak bir istemci güvenilmez bir performansa sahip bir ağ üzerinden.

  • Tanımlamak ve kullanıcı veri tablolarında hot-spot ortadan kaldırmak.

  • İç tablolar genellikle taranan sırayla ilgili kullanıcı için her güncelleştirme için Sorgu bildirimleri tablo, sahip olduğunuz küme sorgu bildirimleri.Tablo düzey kilit sorgu bildirimleri iç tablo performans sorunu haline gelir, sonra her bir veri değişikliği için değerlendirilmesi gereken olası bildirimlerin sayısını azaltmak için sorgu bildirim birkaç ayrı tablolara sahip kullanıcı tablo bölümleme göz önünde tutulur.

Bildirim talepleriniz kısa yararlı ömrü yayılma alanı varsa, bir saat aşımı ile kullanmayı SqlDependency kurucusu , önemli ölçüde daha az 5 gün (örneğin, bir dakika) varsayılan değerinden.Bu, büyük ölçüde iç sorgu bildirimleri tablolardaki satırların sayısını azaltabilirsiniz.Sırayla azaltabilir saat bu tabloları işlemek ve bunları üzerinde kilit çekişme azaltmak için gereklidir.

Sorgu bildirimleri için diğer yollar

Yüksek veri güncelleştirme hızı ve birçok bekleyen bildirim istekleri olan bir ortamda veri değişiklikleri hakkında bildirimler için hızlı, yüksek düzeyde öngörülebilir yanıt saat gerekiyorsa, aşağıdakilerden biri gibi alternatif çözümler düşünün.

  • Oluşturmak bir AFTER UPDATE harekete geçirme tablo , eylem kullanır izlenmekte, SQL Server Hizmet Aracısı varlığına ihtiyaç duyan ileti göndermebildirim. (Bu değişikliklerin bildirilmesini varlık göstergesi ile ilgi tabloya bir sütun ekleyerek veya bildirim gerektiren varlık hakkında bilgiler içeren ikinci bir tablo için birincil tablo birleştirme gibi birkaç şekilde tasarlanabilir.)

  • Sorgu bildirimleri üzerinde kullanan özel bir uygulama katmanı çözümü kullanın.Örneğin, bir bildirim tamamen ana bellek nesnelerinin koleksiyon içinde izlenen verileri tutan bir ara yazılım uygulamasından gerçekleşmesi için yapılandırın.Bir nesne değiştirildiğinde bildirim ölçütünüze uyan şekilde uygulamanız bir bildirim oluşturabilir.

  • Nesnelerle YAZMAÇ bir nesnenin bellek içi önbellek ve geri arama işlevlerini temel alan bir değişiklik bildirim mekanizması destekleyen Windows Server uygulama kumaş önbellek kullanır.

Ayrıca bkz.

Kavramlar