Aracılığıyla paylaş


Bit eşlem filtre meydana sorunlarını giderme

Bit eşlem süzme uygun olmayan satırları sorgu planında erken kaldırarak yıldız şemaları kullanan veri ambarı sorguları performansını önemli ölçüde artırabilir.Bu satırları geçtiğini azaltır birleştirmek işleç ve geliştirilmiş sorgu yanıt süreleri içinde sonuçlanan sonraki tüm operatörler.De SQL Server 2008, bit eşlem süzme sorgu planında sonra iyileştirme kullanılmaya başlandı ya göre dinamik olarak tanıtılan sorgu iyileştiricisi sorgu sırasında plan üretimi.Dinamik olarak filtre girerse, buna olarak denir bir bit eşlem filtresi en iyi duruma getirilmiş.Bit eşlem süzme hakkında daha fazla bilgi için bkz: Bit eşlem süzme yoluyla veri ambar sorgu performansı en iyi duruma getirme.

Bir bit eşlem filtre nonselective olur bit eşlem süzme belirli performans sorunları oluşur.Nonselective biteşlem filtre yükü işleme sorgu gereksiz oluşturur ve daha yavaş gerçekleştirmek sorgu performansını artırmak yerine neden olabilir.

Tanılama ve çözme Nonselective biteşlem süzgeçleri

Tanılamak ve sorgu performansı sorunlarını ilgili nonselective biteşlem filtreleri gidermek için aşağıdaki adımları izleyin:

  1. Performans sorununa neden sorguları tanımlayın.

    Use SQL Server Profiler yavaş sorgu veya belirlemeye yardımcısorguların. Daha fazla bilgi için bkz: SQL Server Profiler'I kullanma.xml, metin olabilen bir Showplan adedine göre sorgu performansını çözümleyebilir veya grafik gösterimi sorgu yürütme planı sorgu iyileştiricisi oluşturur.Daha fazla bilgi için bkz: set showplan_text (Transact-sql), xml Showplans, ve Grafik yürütme görüntüleme (SQL Server Management Studio'yu) planları.

  2. Sorguları bit eşlem filtreleri kullanın doğrulayın.

    Sorgu planları kullanarak yakalayabilirsiniz sys.dm_exec_query_plan (Transact-sql) ve sys.dm_exec_query_stats (Transact-sql) denetlemek için sorgunun gerçekten olup olmadığını kullandığı bit eşlem filtreleri.Alternatif olarak, bit eşlem filtreleri xml Showplan veya sorguların grafik yürütme planı arayabilirsiniz.Daha fazla bilgi için bkz: Bit eşlem filtreleri içeren yürütme yorumlama planları.

  3. Bit eşlem süzme performans sorununun nedeni olduğundan emin olun.

    Bit eşlem süzme yalnızca hangi karma veya birleştirme birleşim kullanılır paralel sorgu planları içinde uygulanır.En iyi duruma getirilmiş bir bit eşlem süzme, yalnızca içinde hangi karma birleşimler kullanılan paralel sorgu planları içinde uygulanır.Bir bit eşlem filtre sorgu performansı etkilemesini olduğunu doğrulamak için el ile bit eşlem süzme Sorguda birleştirmek ipucu döngü belirterek devre deyim.Bu karma birleştirmek yerine belirtilen birleştirmek türünü seçmek için en iyi duruma getiricisi zorlar.Sorguda birleştirmek birleştirmek ipucu belirterek filtresi en iyi duruma getirilmiş bir bit eşlem da devre dışı bırakabilirsiniz deyim.Bu ipuçları kullanma hakkında daha fazla bilgi için bkz: İpuçları (Transact-sql) birleştirme ve Sorgu ipuçları (Transact-sql).

  4. İzleme olay kullanmak Bit eşlem uyarı içinde hangi bit eşlem filtreleri devre sorguları izlemek için.

    Varsayılan olarak, sorgu iyileştiricisi nonselective biteşlem filtreleri otomatik olarak devre dışı bırakır.İzleme olay, nonselective biteşlem filtresi oldu nedenleri ortadan kaldırmak deneyin.Bit eşlem süzme olmayan-meydana aşağıdaki nedenleri de olabilir:

    • Tarafından yapılan uygunsuz kardinalite tahminleri sorgu iyileştiricisi.

      SQL Server öncelikle dizin veya istatistikleri, el ile veya otomatik olarak oluşturulduğunda, oluşturulan histogramlar dan cardinalities tahmin eder.Dışarı-in-tarih ve eksik dizinler istatistiklerini hassasiyetli sorgu planları neden olabilecek yanlış maliyet hesaplamalarında kaynaklanan hatalı kardinalite tahminleri neden olabilir.Sorguya dahil sütunları kullanışlı dizinler veya istatistikleri oluşturmak. Daha fazla bilgi için bkz: Zayıf sorgu performans sorun giderme: Önem düzeyi tahmin.

    • Sistemde bellek baskısı.

      Sorguları bitmap oluşturmak için gerekli en az bellek alın, bir aşırı yüklü sistemde bellek baskısı altında sorgular sorgu planını bit eşlem filtreleri ile bitmap işleç bırakabilir.Performansını izlemek için Sistem Monitörü'nü kullanılabilir SQL Server ve sql Server bileşenleri, neden bellek baskısı sistem.Örneğin, kullanmak Bellek Yöneticisi nesnesi toplam server bellek kullanımını izlemek için.Daha fazla bilgi için bkz: Kaynak Kullanımı (Sistem Monitörü) izleme.Bellek baskısı ile ilgili sorunları giderme hakkında daha fazla bilgi için bkz: sql Server 2005'te performans sorunlarını giderme.

    • Paralel olarak sorguyu çalıştırmak için yeterli iş.

      Bit eşlem filtreleri yalnızca bir paralel sorgu planı uygulanır.Paralel planı belirli bir paralellik derecesi için iş parçacığı gereksinimini memnun, Veritabanı Altyapısı otomatik olarak paralellik derecesi azalır veya tamamen paralel planında bir kenara bırakırbelirtilen iş yükünü bağlam. Sonra (bir iş parçacığı) seri planı da yürütür.Daha fazla bilgi için bkz: Parallelism ölçüde.