COMPUTER ENGINEER

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

İndeksler ve performans

Execution plan okumak

Tahminle gerçek satır sayısını karşılaştır.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Estimated plan sorguyu çalıştırmadan tahmin edilen işlemleri gösterir. Actual plan yürütmenin ölçümlerini ekler; “actual” olması bütün maliyet yüzdelerini gerçek süreye dönüştürmez. SQL Server planındaki cost yüzdeleri model tahminidir. Sorguyu çalıştırırken veri değişiklikleri ve kaynak tüketimi gerçekten gerçekleşebilir.

Önce actual/estimated rows farkına, spill uyarılarına, sort, lookup ve join noktalarına bak. Planı tek ikon üzerinden yargılama. Çok satır taşınıyor ama az sonuç dönüyorsa filtre ve grain’i incele. SSMS’de Ctrl+M ile actual plan aç; SELECT sorgusunu çalıştır ve Execution Plan sekmesini kontrol et. Bu küçük veri performans benchmark’ı değildir; gerçek iş yükü ayrı ölçülür.

NERESİNDE KULLANIRSIN?

Ölçüme dayalı optimizasyon yapmak için.

SIK YAPILAN HATA

Plan cost yüzdesini gerçek süre yüzdesi sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SELECT ProductName FROM lab.Product WHERE ProductId = 1;

Basit anahtar sorgusunun planını aç.

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.

Ürünleri fiyat sırasına koyan sorgunun actual planını incele.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SELECT ProductId, ProductName, Price FROM lab.Product ORDER BY Price DESC, ProductId;

Sort olup olmadığını mevcut indekslerle birlikte değerlendir. Plan burada tarayıcıda yürütülmez.