COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
51/ 65

İndeksler ve performans

IO, süre, Query Store ve parametreler

Önce baseline, sonra tek değişiklik.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

SET STATISTICS IO logical reads gibi erişim ölçümleri; SET STATISTICS TIME CPU ve elapsed time bilgileri verir. Cache, paralellik ve diğer iş yükleri ölçümü etkiler. Tek çalıştırmadaki milisaniye farkını kesin iyileşme diye sunma. Aynı veriyi, aynı parametreleri ve aynı koşulları karşılaştır. Üretimde cache temizleme komutları kullanma.

Query Store sorgu, plan ve çalışma istatistiği geçmişini izlemek için kullanılır; etkinleştirme, depolama ve retention DBA kararıdır. Plan regression ve parametreye duyarlı performansı araştırmaya yardımcı olur. SQL Server 2022’nin Parameter Sensitive Plan özelliği sürüm ve compatibility koşullarına bağlıdır; 2019’da aynı davranışı bekleme. RECOMPILE, plan forcing veya OPTIMIZE FOR birer ölçülen müdahaledir, varsayılan tedavi değildir.

NERESİNDE KULLANIRSIN?

Performans önerilerini sayısal kanıtla desteklemek için.

SIK YAPILAN HATA

Tüm sunucunun cache’ini temizleyip laboratuvar gibi ölçmek.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SET STATISTICS IO ON;
SELECT ProductName FROM lab.Product WHERE ProductId = 1;
SET STATISTICS IO OFF;

SSMS Messages sekmesindeki reads değerlerini incele.

Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.

02 / SIRA SENDE

Önce kendin dene.

Müşteri 2 sorgusunun IO ve süre bilgilerini kaydet.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SET STATISTICS IO ON;
SET STATISTICS TIME ON;
SELECT OrderId FROM lab.SalesOrder WHERE CustomerId = 2;
SET STATISTICS TIME OFF;
SET STATISTICS IO OFF;

Küçük veri üzerinde süreler gürültülü olabilir; sonuç ve reads’i de doğrula.