Microsoft SQL Server 2016 SP2-CU6 (13.0.5292.0) 4 vCPU VM'de max degree of parallelismayarlanmış 2ve cost threshold for parallelismayarlanmış olarak çalıştırıyorum 50.
Sabahları, SELECT TOP 100 sorgusu için bir Tahmini Yürütme Planı görüntülemeye çalışırken , büyük beklemelerle karşılaşıyorum ve tahmini planı oluşturma işlemi genellikle 5 - 7 dakikalık aralıklarla dakikalar alıyor. Yine, bu sorgu gerçek yürütme değil, bu sadece bir tahmini yürütme planı görüntüleme işlemidir .
sp_WhoIsActiveya PAGEIOLATCH_SHbekler ya da LATCH_EX [ACCESS_METHODS_DATASET_PARENT]bekler gösterir ve Paul Randal'ın WaitingTasks.sql komut dosyasını işlem sırasında çalıştırdığınızda CXPACKETçalışan iş parçacığı PAGEIOLATCH_SHbeklemeler gösteren bekler gösterir:
* kaynak açıklama alanı = exchangeEvent id=Port5f6069e600 WaitType=e_waitPortOpen waiterType=Coordinator nodeId=1 tid=0 ownerActivity=notYetOpened waiterActivity=waitForAllOwnersToOpen
Çalışan iş parçacıkları tüm statstabloyu belleğe getiriyor gibi görünüyor (bu sayfa numaralarının yanı sıra Paul Randal'ın sorgu noktasından gösterilen sonraki sayfa numaraları statstablo için kümelenmiş anahtara geri döndüğü için ). Plan geri geldiğinde, temelde günün geri kalanı için anlıktır, hatta statssadece çeşitli kayıtlarla önbellekten tablo yıpranmasının çoğunu gördükten sonra bile (benzer sorgulardan işlemler aramak için çekildiğini varsayıyorum).
Sorgu gerçekten SCAN işleçlerini kullanan bir planla yürütüyor olsaydı, bu ilk davranışı bekliyordum, ancak bunu neden yalnızca yukarıdaki bağlantı planında gösterildiği gibi bir SEEK operatörüne ulaşmak için yürütme planlarını değerlendirirken yapıyor? Buradaki performansı artırmak için ne yapabilirim (bu ifadeyi çalışma saatlerinden önce çalıştırmamın yanı sıra verilerim uygun şekilde önbelleğe alınabilir)? Ben bir çift kapsayan endeksleri yararlı olacağını varsayıyorum, ama onlar gerçekten herhangi bir davranış değişikliği garanti eder misiniz? Burada bazı depolama ve bakım penceresi sınırlamaları içinde çalışmak zorunda ve sorguyu kendisi bir satıcı çözüm üretilir, böylece diğer öneriler (yanı sıra daha iyi dizinleme) bu noktada kabul edilir.

