Yürütme planları

SQL Server'da Sorgu Performansını İyileştirme

Dean Smith

Founder, Atamai Analytics

Optimizasyon aşaması

Optimizasyon aşaması

SQL Server'da Sorgu Performansını İyileştirme

Optimizasyon aşaması

Açıklamalı optimizasyon aşaması

Değerlendirilen maliyet parametreleri:

  • İşlemci kullanımı
  • Bellek kullanımı
  • Veri sayfası okumaları
SQL Server'da Sorgu Performansını İyileştirme

Optimizasyon aşaması

Optimizasyon aşaması ve yürütme motoru

Değerlendirilen maliyet parametreleri:

  • İşlemci kullanımı
  • Bellek kullanımı
  • Veri sayfası okumaları
SQL Server'da Sorgu Performansını İyileştirme

Yürütme planlarından bilgi

Yürütme planları şu bilgileri verebilir:

  • İndekslerin kullanılıp kullanılmadığı
  • Kullanılan birleştirme türleri
  • Şunların konumu ve göreli maliyeti:
    • filtre koşulları
    • sıralama
    • toplamalar
SQL Server'da Sorgu Performansını İyileştirme

SSMS’de tahmini yürütme planı

 

Ara tahmini yürütme planı SSMS araç çubuğu menü öğesi

SQL Server'da Sorgu Performansını İyileştirme

SSMS’de tahmini yürütme planı

 

Ara tahmini yürütme planı SSMS araç çubuğu menü öğesi ve balon yardımı

SQL Server'da Sorgu Performansını İyileştirme

SSMS’de yürütme planlarını görüntüleme

SSMS’de yürütme planı

SQL Server'da Sorgu Performansını İyileştirme

Operatör istatistikleri

Yürütme planı operatör istatistikleri

SQL Server'da Sorgu Performansını İyileştirme

Yürütme planlarını okuma

Yürütme planı operatörleri

SQL Server'da Sorgu Performansını İyileştirme

İndeks örneği

SELECT * 
FROM Customers
WHERE CustomerID = 'PARIS';

Tablo tarama operatörü

SELECT * 
FROM CustomersCI
WHERE CustomerID = 'PARIS';

Kümelenmiş indeks arama (seek) operatörü

SQL Server'da Sorgu Performansını İyileştirme

Sıralama operatörü örneği

SELECT FruitName, FruitType
FROM Fruits1

UNION

SELECT FruitName, FruitType
FROM Fruits2;

UNION ile yürütme planı

SELECT FruitName, FruitType
FROM Fruits1

UNION ALL

SELECT FruitName, FruitType
FROM Fruits2;

UNION ALL ile yürütme planı

SQL Server'da Sorgu Performansını İyileştirme

Aynı yürütme planı mı?

SELECT * 
FROM Customers
WHERE CustomerID IN 
    (SELECT CustomerID 
     FROM Orders);

IN ve EXISTS yürütme planı

SELECT * 
FROM Customers c
WHERE EXISTS
    (SELECT 1 
     FROM Orders o 
     WHERE c.CustomerID = o.CustomerID);

IN ve EXISTS yürütme planı

SQL Server'da Sorgu Performansını İyileştirme

Ayo berlatih!

SQL Server'da Sorgu Performansını İyileştirme

Preparing Video For Download...