Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Plan Cache, Parameterization ve Parameter Sniffing: Belirtiler, Teşhis ve Çözümler
Parameter sniffing, cache'teki planın ilk gelen parametre değerine göre derlenip çarpık veride diğer değerlere uymamasıdır: aynı procedure müşteri 1 için bir sırada 7.709, diğerinde 612.850 logical read yaptı. Ad hoc/prepared plan'lar, simple ve forced parameterization, RECOMPILE ve OPTIMIZE FOR'un bedeli, 2022'nin PSP optimization'ı, 2025'in OPPO'su ve ORM parametre uzunluklarının plan cache'i şişirmesi.
Statistics ve Cardinality Estimation: Histogram, Density ve Yanlış Tahminin Bedeli
Optimizer satır sayısını statistics'ten tahmin eder: değer histogramda bir adımsa tahmin kusursuzdur, adım içindeyse ortalamadır, bilinmiyorsa density vector'e düşer. 1 milyon siparişlik Bookstore verisinde histogram okuma, otomatik güncelleme eşiğinin (31.623 değişiklik) deneyle doğrulanması, ascending key yüzünden 24 kat pahalı plan, birbirine bağlı kolonlarda CE model'leri ve CE feedback.