Ben plan üreten bir executiong query.
İstatistikler IO:
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Workfile'. Scan count 128, logical reads 5952, physical reads 576, read-ahead reads 6080, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Table1'. Scan count 9, logical reads 90450, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Yani, bazı sorular
1. Neden İstatistikler IO Profiler'den daha yüksek okuma gösteriyor? .
KB314648’de , Profiler’in İstatistik IO’dan daha yüksek rakamlar rapor etmesi durumunda sorun yok. Ancak Profiler, 92283
açıklanan sorguda aynı işlemi okur. Bu, Profiler'in çalışma dosyası / çalışma masası okumalarını saymadığı anlamına mı geliyor?
2. "Worktable" ve "Workfile" arasındaki fark nedir
Bunu buldum :
- iş dosyaları, karma birleştirmeler ve karma toplamalarla ilgili geçici sonuçları depolamak için kullanılabilir.
- Çalışma tabloları, sorgu biriktirme, lob değişkenleri, XML değişkenleri ve imleçler için geçici sonuçları saklamak için kullanılabilir.
Aralarında fiziksel bir fark var mı?
3. Bu özel durumda neden “Çalışma Masası” var?
0 mantıksal okuma varsa neden çalışma masam var? İstatiksel IO'ya dahil olması, sadece buna ihtiyaç olabileceğinden (kötü tahminlerde)?
Tekniğin üzerinde bulunan açıklama belirsiz görünüyor.
4. Workfile'daki "Fiziksel okumalar" ne anlama geliyor?
Bu, sorguya yeterli bellek verilmediği anlamına mı geliyor, bu nedenle sorgu yürütülürken verilerin diske yazılması gerekiyordu (Karma Eşleşmede sarı uyarı)? Ne zaman İstatistik IO'da çalışma masasını / çalışma dosyasını fiziksel okur ile gördüğümde, sorgu için yeterli hafıza bulunmadığını ve sorgunun bazı ara sonuçlarının tempdb diske yazılmasının zorunlu olduğunu varsayabilir miyim? Ve ne zaman sadece mantıksal okumalar görsem, RAM kullanılır?
5. Bir "çalışma dosyası", bir amaç için kullanılan tam olarak bir masa anlamına mı geliyor?
Birden fazla çalışma dosyası / çalışma masası varsa, hangi operasyonun kullanıldığını bilmiyorum?