Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Execution Plan Okumak 2: Memory Grant, Spill, Parallelism ve Implicit Conversion Uyarıları
Plan uyarıları tahminin bedelini gösterir: küçük tahmin memory grant'i yetersiz bırakıp tempdb'ye spill ettirir, düşük cost threshold küçük sorguları 10 thread'e dağıtır, nvarchar parameter varchar kolonda 3 page'lik aramayı 3.117 page'e çıkarır. Memory grant feedback, exchange operator'leri, CX wait'leri, 2025'te varsayılan açık DOP feedback, EF Core ve Dapper ile implicit conversion, batch mode ve adaptive join.
Execution Plan Okumak 1: Estimated vs Actual Plan, Operator'ler ve Join Algoritmaları
Execution plan sağdan sola, içten dışa okunur; ilk bakılacak şey cost yüzdesi değil, tahmini ve gerçek satır sayısı ile her operator'ün kaç kez çalıştığıdır. EF Core Include sorgusunun actual plan'ında cost yüzdesinin yanılttığı yer, seek/scan/lookup, nested loops, merge ve hash join'in aynı sorguda ölçülen maliyetleri, stream ve hash aggregate ve iki index'le 2.549'dan 689 logical read'e iniş.