Share via


Yavaş çalışan sorgularda çözümleme için Denetim listesi

Çeşitli nedenlerle sorguları veya güncelleştirmelerinden yürütülecek beklenenden daha uzun sürmesine neden olabilir.Yavaş çalışan sorgularda ağ veya bilgisayar ilgili performans sorunlarının nedeni olabilir; burada SQL Server çalışıyor. Yavaş çalışan sorgularda, fiziksel veritabanı tasarımınızı sorunlar da kaynaklanabilir.

Yavaş çalışan sorgularda ve güncelleştirmeler için genel nedenler vardır:

  • Yavaş ağ iletişimi.

  • Sunucu bilgisayardaki yetersiz bellek veya için yeterli bellek yok SQL Server.

  • Yararlı istatistikler yetersizliği

  • Yararlı dizinler yetersiz.

  • Yararlı bir dizin oluşturulmuş görünümler yetersiz.

  • Yararlı verileri şeritleme yetersiz.

  • Yararlı bir bölümleme olmaması.

Sorgu veya güncelleştirmesinin beklenenden uzun sürüyor, kendinize önceki bölümde listelenen yavaş çalışan sorgularda nedenlerle adres şu soruları sorun:

İpucu

saat kazanmak için , teknik destek sağlayıcınız başvurmadan önce bu denetim listesini inceleyin.

  1. Performans sorunu sorgular dışında bir bileşeni ile ilişkili mi?Örneğin, yavaş ağ performansını sorun nedir?Neden bırakılabilecek veya performans düşmesine katkıda bulunan tüm diğer bileşenleri var mı?

    Windows Sistem Monitörü performansını izlemek için kullanılabilir: SQL Server ve SQL Server bileşenleri ilgili. Daha fazla bilgi için bkz:Izleme kaynak kullanımı (Sistem Monitörü).

  2. Performans sorunu sorgularını ilişkili ise, hangi sorgu veya sorguları bir dizi katıldı?

    Kullanımı SQL Server Profiler yavaş bir sorgu veya sorguları belirlemenize yardımcı olması için . Daha fazla bilgi için bkz:SQL Server Profiler'ı kullanma.Use sys.dm_exec_query_stats and sys.dm_exec_requests dinamik yönetimi görünümleri benzer sorguları diğer topluca bulmak için çok sayıda kaynak kullanır.Daha fazla bilgi için bkz:Bulma ve benzer sorgular, sorgu ve Query kullanarak ayarlama sağlamalarını planlanır..

  3. Nasıl ı yavaş çalışan sorguda performansını çözümlemek?

    Yavaş çalışan sorgu veya sorguları tanımladıktan sonra başka bir metin, XML veya sorgu iyileştiricisi üreten sorgu yürütme planı grafik gösterimi bir gösterim planı üretme tarafından sorgu performansını çözümleyebilirsiniz.gösterim planı kullanarak oluşturabilir Transact-SQL küme seçenekleri SQL Server Management Studio, veya SQL Server Profiler.

    Kullanma hakkında bilgi için Transact-SQL Seçenekler, metin ve XML yürütme planları'nı görüntülemek için bkz: küme Yürütme görüntüleme (Transact-SQL) gösterim planı küme seçenekleri kullanarak planları.

    Kullanma hakkında bilgi için SQL Server Management Studio Grafik yürütme planları'nı görüntülemek için , bkz: Grafik yürütme görüntüleme (SQL Server Management Studio'yu) planları..

    Kullanma hakkında bilgi için SQL Server Profiler metin ve XML yürütme planları'nı görüntülemek için , bkz: SQL Server Profiler olay sınıfları kullanarak planları yürütme görüntüleme.

    Bu araçlar tarafından toplanan bilgiler bir sorgu tarafından nasıl yürütüleceğini saptamanızı sağlar SQL Server sorgu iyileştiricisi ve hangi dizin kullanılır. Bu bilgileri kullanarak, performans geliştirmeleri sorguyu yeniden yazma, dizinler tablolarda değiştirme veya belki veritabanı tasarımını değiştirme yapılabilir, belirleyebilirsiniz.Daha fazla bilgi için bkz:Bir sorgu çözümleniyor.

  4. Sorgu ile yararlı istatistikler optimize?

    sorgu iyileştiricisi istatistikleri, sorgu performansını sorgu planları oluşturmak için kullanır.Sorguların çoğu için sorgu iyileştiricisi, zaten bir yüksek kalite sorgu planı; birkaç durumda gerekli istatistik oluşturur, ek istatistikler oluşturmak en iyi sonucu almak için sorgu tasarımını değiştirmek gerekir.

    Daha fazla bilgi için bkz:Sorgu performans geliştirme için istatistikleri'ni kullanma.Bu konu, sorgu performansı istatistiklerini verimliliğini artırmak için yönergeler sağlar.Yönergeleri şunlardır:

    • Veritabanı özel istatistikleri Seçenekleri'ni kullanarak.Örneğin, otomatik istatistik, AUTO_CREATE_STATISTICS, oluşturmak ve otomatik güncelleştirme istatistikleri, AUTO_UPDATE_STATISTICS, veritabanı çapında seçenekleri bulunan doğrulamalısınız.Kapalı olduklarını, sorgu planları suboptimal olabilir ve sorgu performansı düşürebilir.

    • Istatistikler oluşturmak zamanı belirleme.Birkaç durumda ek istatistikleri ile oluşturarak sorgu planları artırabilirsiniz (Transact-SQL) STATISTICS CREATE deyim. Bu ek istatistikleri, dizinler veya tek bir sütun için istatistikler oluşturduğunda, sorgu iyileştiricisi için hesap istatistiksel korelasyon yakalayabilirsiniz.

    • Zamanı belirleme güncelleştirme istatistikleri.Bazı durumlarda, Sorgu planını geliştirmek ve istatistikleri AUTO_UPDATE_STATISTICS üzerinde olduğunda birden daha sık güncelleştirerek, bu yüzden sorgu performansını artırmak.Istatistikleri ile güncelleştirmek için İSTATİSTİKLERİ GÜNCELLEŞTİRME deyim veya depolanmış yordam sp_updatestats.

    • Tasarlama, verimli kısımlarına kullanım istatistiklerini sorgular.Yerel değişkenler ve karmaşık bir sorgu yüklemi, deyimlerde gibi belirli bir sorgu uygulamaları suboptimal sorgu planları için yol açabilir.Bunu önlemek için istatistikleri etkin biçimde kullanmak için sorgu tasarım yönergeleri izleyerek sağlayabilirsiniz.

  5. Uygun dizinlerin var mı?Bir veya birden çok dizine ekleme, sorgu performansını artırmak?Daha fazla bilgi için bkz: Genel dizin tasarım yönergeleri, Indexes eksik bulma, ve veritabanı altyapısı Ayarlama Danışmanı'na genel bakış. Database Engine Advisor ayarlama gerekli istatistiklerinin oluşturulması önerebilirsiniz.

  6. Veri veya dizin etkin noktalar var mı?Disk şeritleme kullanmayı düşünün.Burada, verilerin üzerinde birden çok disk sürücüsüne dağıtıldığı RAID (bağımsız diskler yedek dizisi) düzey, 0'ı kullanarak, disk şeritleme uygulanabilir.Daha fazla bilgi için bkz: Dosya ve Filegroups kullanma ve RAID.

  7. sorgu iyileştiricisi, karmaşık bir sorgu en iyi duruma getirmek için en iyi fırsatla sağlanan mi?Daha fazla bilgi için bkz:Sorgu öneriler ayarlama.

  8. Büyük miktarda veri varsa, yeniden bölümlemek gereksiniminiz var?Veri yönetilebilirlik bölümleme ana yararı olsa da, tablolar ve dizinler bunlara benzer şekilde bölümlenmiş, bölümleme de sorgu performansı artırabilir.Daha fazla bilgi için bkz: Anlama bölümleme ve Fiziksel veritabanı tasarımını ayarlama.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Yararlı istatistikler sahip olmak, adım için istatistikleri içeriği güncelleştirildi.

Konu başlığı yeni istatistikler içerik gösterir Sorgu performans geliştirme için istatistikleri'ni kullanma.