Selamlar herkese,
Geçmiş içeriklerimizde SQL Server 2022 ile gelen bazı özelliklerden bahsetmiştim. Bugün ise farklı bir Microsoft SQL Server 2022 özelliğinden bahsedeceğim. Bu yazı içerisinde PSP (Parameter Sensitive Plan Optimization) – Akıllı Sorgu işleme özelliğinin ne olduğunu anlatacağım.
Bu özelliğin büyük bir performans artışı sağlayacağını ve SQL Server 2022’nin en önemli özelliklerinden biri olduğunu belirtmek isterim. Bu özelliğin geçmiş versiyonlarda yaşadığımız Parameter Sniffing sorununu da çözeceğini öngörüyorum. Tabi SQL Server 2022 kurulumu ile aktif olarak gelen Query Store özelliğide aslında sorgu performanslarını iyileştirmede aktif kullanabileceğiniz bir özellik olacaktır.
PSP nedir?
Bir sorgu ilk çalıştırıldığında yürütme planı – execution plan – oluşturulur ve plan önbelleğinde -plan cache – saklanır. Sorguyu tekrar çalıştırdığınızda yürütme planı – execution plan – var olması sebebiyle derleme süresini azaltarak sorgunuzun çalışma süresini iyileştirir.Ancak veriler eşit olarak dağıtılmadığında performans sorunlarına yol açabilir. Bu soruna ise “Parameter Sniffing” adı verilir. PSP optimizasyonu sayesinde tek parametreli sorgular için plan önbelleğinde birden fazla yürütme planı saklanır. Her yürütme planı optimize edilecek ve parametrelerin varsaydığı değerlere bağlı olarak farklı veri boyutlarını barındıracaktır ve dolayısıyla siz sorguyu tekrar çalıştırdığınızda sorgunuza özel saklanan farklı yürütme planları üzerinden sorgunuz çalışır ve sorgu performansınızda iyileşme sağlanacaktır. Tabi bu sürecin de paralelde plan önbelliğininde şişmesine sebep verebileceği gibi de bir gerçek var. Bunu da gözardı etmemek gerekir. SQL Server 2022’nin şuan için genel önizleme sürümünde olmasıyla birlikte konu hakkında daha detaylar geldikçe bunlardan da bahsediyor olacağım.