Parametreli Filtresi performans Precomputed bölümleri ile en iyi duruma getirme

Precomputed bölümleri olan bir performans optimizasyonu filtre birleştirme yayımları ile kullanılabilecek. Precomputed bölümleri Ayrıca mantıksal kayıtları süzülmüş yayınlar kullanmak için bir gereksinim olduğunu. Mantıksal kayıtları hakkında daha fazla bilgi için bkz: Grup değişiklikleri'mantıksal kayıtları ile ilgili satırları.

Bir abone yayımcı ile eşitler, yayımcı abonenin filtreleri hangi satırların ait o abonenin bölüm veya veri kümesi belirlemek için değerlendirmelidir. Her abone süzülmüş veri kümesi alma denir için bölüm üyelik değişiklikleri yayımcı belirlenmesinde bu süreci bölüm değerlendirme. Precomputed bölümleri, Publisher filtre uygulanmış bir sütunun Birleştirme Aracısı için belirli bir abone son çalıştırdığında bu yana yapılan her değişiklik için bölüm değerlendirme yapılması gerekiyor ve bu işlem her abone yayımcı ile eşitler tekrarlanması gerekiyor.

Ancak, Publisher ve abone çalıştırıyorsanız, Microsoft  SQL Server 2005veya sonraki bir sürümünü ve precomputed bölümleri kullanın, bölüm üyelik için tüm değişiklikleri yayımcı precomputed ve kalıcı değişiklikler zaman. Bir abone yayımcı ile eşitler, bunun sonucunda, hemen değişiklikleri kendi bölümü ile ilgili bölüm değerlendirme sürecinden geçmesi gerek kalmadan indirmeye başlatabilirsiniz. Yayını değişiklikleri, aboneler veya makaleler çok sayıda yayına sahip olduğunda bu önemli performans artışı için yol açabilir.

Precomputed bölümler kullanma, ek olarak anlık görüntüleri önceden ve/veya isteği anlık görüntüsü oluşturma ve uygulama ilk kez bunlar eşitlemek aboneleri izin vermek. Parametreli filtreleri kullanın yayınlar için anlık sağlamak için birini veya her ikisini de bu seçenekleri kullanın. Abonelikleri kullanmak yerine, bir dizi seçin ve Insert deyimlerini kullanarak başlatılır, bu seçeneklerden birini belirtmezseniz, bcp yarar; Bu, çok daha yavaş bir süreçtir. Daha fazla bilgi için, bkz. Anlık görüntüler için birleştirme yayınları ile parametreli süzgeçleri.

Precomputed bölümler kullanma

Precomputed bölümleri, yukarıda açıklanan kurallara uygun tüm yeni ve varolan yayınlar için varsayılan olarak etkinleştirilir. Ayarı ile değiştirilebilir SQL Server Management Studioya da programlı. Daha fazla bilgi için, bkz. Parametreli satır filtreleri en iyi duruma getirme.

Precomputed bölümler kullanma gereksinimler

Aşağıdaki gereksinimler karşılanırsa, yeni birleştirme yayımları, varsayılan olarak, etkin precomputed bölümleri ile oluşturulmuş olan ve varolan yayınlar özelliğini kullanmak için otomatik olarak yükseltilir. Yayını gereksinimleri karşılamıyorsa, değiştirilebilir ve ardından precomputed bölümleri etkin olabilir. Bazı makaleler bu gereksinimleri karşılar ve bazı değil, en etkin precomputed bölümleri için iki yayınları oluşturmayı düşünün.

Filtre yan tümceleri gereksinimleri

  • Parametreli satır filtreleri, host_name() ve suser_sname(), kullanılan işlevler doğrudan parametreli filtre yan tümcesinde görünür ve bir görünüm veya dinamik işlevi içinde içiçe değil. Bu işlevler hakkında daha fazla bilgi için bkz: col_name (Transact-sql), suser_sname (Transact-sql), ve Parametreli satır süzgeçleri.

  • Bölüm oluşturulduktan sonra her abone için döndürülen değerleri değiştirmemelisiniz. Örneğin, bir filtre host_name() kullanma (ve host_name() değeri geçersiz kılmaz,) abone bilgisayar adını değiştirmeyin.

  • Birleştirme filtreleri değil dinamik işlevleri (eşitleme abone bağlı olarak farklı bir değer değerlendirmek gibi işlevleri host_name() ve suser_sname()) içermelidir. Parametreli satır filtreleri yalnızca dinamik işlevleri içermelidir.

  • Nondeterministic işlevler filtre yan tümcesinde kullanılamaz. Nondeterministic işlevler hakkında daha fazla bilgi için bkz: Deterministik ve Nondeterministic işlevler.

  • Birleşim filtre yan tümceleri veya parametreli filtre yan tümceleri başvurulan görünümleri dinamik işlevleri içermelidir.

  • Yayında hiçbir döngüsel birleştirme filtre ilişkileri olmalıdır.

Veritabanı harmanlama

  • Precomputed bölümleri kullanılır, veritabanı harmanlama her zaman tablo veya sütun harmanlama yerine karşılaştırmalar yaparken kullanılır. Aşağıdaki senaryoyu düşünün:

    • Bir veritabanı ile bir büyük küçük harf duyarlı harmanlamayı büyük küçük harf duyarlı harmanlamayı içeren bir tablo içerir.

    • Tablo sütunu içeren BilgisayarAdı, hangi abone parametreli filtre ana bilgisayar adını karşı karşılaştırılır.

    • Tablo, "Bilgisayarım" değeri olan bir satır içerir. ve bir satır değeri "Bilgisayarım" Bu sütunda.

    Abone "Bilgisayarım" bir ana bilgisayar adı ile eşitleniyorsa, karşılaştırmanın büyük/küçük harf duyarlıdır çünkü abone aldığı tek satır (veritabanı harmanlama). Çünkü tablo duyarlı harmanlamayı precomputed bölümleri kullanılmaz abone hem satırları alır.

Performans Precomputed bölümleri

Precomputed bölümleri küçük performansı maliyetle değişiklikleri abone için yayımcı karşıya olduğunu, ancak birleştirme işlem süresi toplu bölümlerini değerlendirmek ve net kazanç hala önemli olabilir abone için yayımcı değişiklikleri karşıdan yükleme harcanmaktadır. Performans yararı, aynı anda eşitleme abone sayısı ve eşitleme her satır bir bölümünden diğerine güncelleştirmeleri sayısı bağlı olarak değişir.

Ayrıca bkz.

Kavramlar

Parametreli satır süzgeçleri