Yavaş çalışan sorgularda çözümleme için Denetim listesi
Çeşitli nedenlerle sorguları veya yürütmek için beklenenden daha uzun süre güncelleştirmeler neden olabilir.Yavaş çalışan sorguları neden olabilir ağ veya bilgisayar ile ilgili performans sorunları nerede SQL Server çalışmaktadır.Yavaş çalışan sorgularda sorunlar fiziksel veritabanı tasarımını da neden olabilir.
Yavaş çalışan sorgularda ve güncelleştirmeler için genel nedenler vardır:
Yavaş ağ iletişimi.
Sunucu bilgisayardaki yetersiz bellek veya yetersiz bellek için SQL Server.
Yararlı İstatistikler yetersizliği
Kullanışlı dizinler eksikliği.
Dizin oluşturulmuş görünümler kullanışlı olmaması.
Yararlı verileri şeritleme eksikliği.
Yararlı bölümleme olmaması.
Sorgu veya güncelleştirme beklenenden daha uzun sürerse, kendinize bir önceki bölümde listelenen yavaş çalışan sorgularda nedenlerle adres aşağıdaki soruları sorun:
İpucu |
---|
saat kazanmak için teknik destek başvurmadan önce bu denetim listesini inceleyin sağlayıcı. |
Performans sorunu sorgular dışında bir bileşeni ile ilişkili mi?Örneğin, sorun ağ performansı yavaşlıyor mu?Neden bırakılabilecek veya performans düşmesine katkıda bulunan diğer bileşenleri var mı?
Windows Sistem Monitörü'nü performansını izlemek için kullanılan SQL Server ve sql Server ile ilgili bileşenler.Daha fazla bilgi için bkz: Kaynak Kullanımı (Sistem Monitörü) izleme.
Sorgular, hangi sorgu performans sorunuyla ilgili olduğu veya küme sorguları söz konusu olan?
Use SQL Server Profiler yavaş sorgu veya belirlemeye yardımcısorguların. Daha fazla bilgi için bkz: SQL Server Profiler'I kullanma.Use sys.dm_exec_query_stats ve sys.dm_exec_requests topluca çok sayıda kaynak tüketir benzer sorguları bulmak için dinamik yönetimi görünümleri.Daha fazla bilgi için bkz: Bulma ve benzer sorgular sorgu ve sorgu kullanarak ayarlama karmaları Plan.
Yavaş çalışan sorguda performansını nasıl analiz?
Yavaş çalışan sorgu veya sorguların tanımladıktan sonra daha ayrıntılı sorgu performansı, metin, xml, Showplan, adedine göre Analiz veya grafik gösterimi sorgu yürütme planı sorgu iyileştiricisi oluşturur.Showplan kullanarak üretmek Transact-SQL set seçenekleri, SQL Server Management Studio, veya SQL Server Profiler.
Kullanma hakkında bilgi için Transact-SQL metin ve xml yürütme planları görüntülemek için bkz: seçeneklerini ayarlama Showplan set seçenekleri (Transact-SQL) kullanarak planları yürütme görüntüleme.
Kullanma hakkında bilgi için SQL Server Management Studio Grafik yürütme planları 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ı 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 bilgilerin nasıl bir sorgu tarafından yürütüleceğini belirlemenize olanak tanır SQL Server sorgu iyileştiricisi ve hangi dizin kullanılır.Bu bilgileri kullanarak, performans iyileştirmeleri sorguyu yeniden yazmayı tablolarda dizinler değiştirme veya belki de veritabanı tasarımında değişiklik yapılabilir, belirleyebilirsiniz.Daha fazla bilgi için bkz: Bir sorgu çözümleme.
Sorgu yararlı İstatistikler ile optimize?
sorgu iyileştiricisi İstatistikler sorgu performansını artırmak sorgu planları oluşturmak için kullanır.Sorguların çoğu için sorgu iyileştiricisi zaten bir yüksek kaliteli sorgu planı; ilgili gerekli istatistikleri oluşturur birkaç durumlarda, en iyi sonuçlar elde etmek için sorgu tasarımını değiştirmek veya ek istatistikler oluşturmak gerekir.
Daha fazla bilgi için bkz: İstatistikler sorgu performansını artırmak için kullanma.Bu konuda sorgu performansı istatistikleri verimliliğini artırmak için yönergeler sağlar.Yönergeleri şunlardır:
Veritabanı çapında istatistikleri seçenekleri kullanarak.Örneğin, otomatik istatistik, AUTO_CREATE_STATISTICS, oluşturmak ve otomatik güncelleştirme istatistikleri, AUTO_UPDATE_STATISTICS, veritabanı çapında seçenekleri üzerinde olduğunu doğrulamanız gerekir.Kapalı oldukları, sorgu planları hassasiyetli ve sorgu performansı düşürebilir.
İstatistikleri oluşturma zamanını belirleme.Birkaç durumlarda, sorgu planları ile ek istatistik oluşturarak artırabilir İSTATİSTİKLER (Transact-sql) oluştur deyim.Bu ek İstatistikler istatistiksel bağıntıları yakalayabilir, sorgu iyileştiricisi dizinler veya tek bir sütun için İstatistikler oluşturduğunda için hesaba katmaz.
İstatistikleri güncelleştirmek belirleniyor.Bazı durumlarda sorgu planı geliştirmek ve bu nedenle sorgu istatistikleri AUTO_UPDATE_STATISTICS üzerinde olduğunda birden daha sık güncelleştirerek performansı.Yapabilirsiniz güncelleştirme istatistikleri ile güncelleştirme istatistikleri deyim veya depolanmış yordam sp_updatestats.
Tasarlama etkin bir şekilde bu kullanım istatistiklerini sorgular.Yerel değişken ve karmaşık sorgu yüklemi ifadelerde gibi belirli sorgu uygulamaları hassasiyetli sorgu planları için yol açabilir.İstatistikleri verimli bir şekilde kullanmak için sorguyu Tasarım yönergeleri izleyerek bunu önlemek için yardımcı olabilir.
Uygun dizinleri var mı?Bir veya daha fazla dizin ekleme sorgu performansını artırmak mı?Daha fazla bilgi için bkz: Genel dizin tasarım yönergeleri, Eksik dizinler bulma, ve Veritabanı Altyapısı Ayarlama Danışmanı genel bakış.Veritabanı Altyapısı Tuning Advisor gerekli istatistikleri oluşturulmasını önerebilirsiniz.
Herhangi bir veri veya dizin etkin noktalar var mı?Disk eritleme kullanmayı düşünün.RAID (bağımsız diskler yedek dizisi) düzey 0, verileri birden çok disk sürücüsü arasında dağıldığı kullanarak disk eritleme uygulanabilir.Daha fazla bilgi için bkz: Dosya ve Filegroups kullanma ve RAID.
İse sorgu iyileştiricisi karmaşık bir sorgu en iyi duruma getirme için en iyi fırsat sağlanan?Daha fazla bilgi için bkz: Sorgu önerileri ayarlama.
Büyük miktarda veri varsa, bölümleme gerekiyor mu?Yönetilebilirlik veri bölümleme ana yararı olduğu halde tablolar ve dizinler bunlara benzer şekilde bölümlenmiş, bölümleme de sorgu performansını artırır.Daha fazla bilgi için bkz: Bölümleme anlama ve Fiziksel veritabanı tasarımını ayarlama.