Uitvoeringsplannen

De queryprestaties verbeteren in SQL Server

Dean Smith

Founder, Atamai Analytics

Optimalisatiefase

Optimalisatiefase

De queryprestaties verbeteren in SQL Server

Optimalisatiefase

Optimalisatiefase met beschrijving

Beoordeelde kostenparameters zijn:

  • Processorgebruik
  • Geheugengebruik
  • Datapaginalezingen
De queryprestaties verbeteren in SQL Server

Optimalisatiefase

Optimalisatiefase en uitvoeringsengine

Beoordeelde kostenparameters zijn:

  • Processorgebruik
  • Geheugengebruik
  • Datapaginalezingen
De queryprestaties verbeteren in SQL Server

Informatie uit uitvoeringsplannen

Uitvoeringsplannen geven info over:

  • Of indexen zijn gebruikt
  • Welke join-typen zijn gebruikt
  • Locatie en relatieve kosten van:
    • filtervoorwaarden
    • sorteren
    • aggregaties
De queryprestaties verbeteren in SQL Server

Geschat uitvoeringsplan in SSMS

 

Geschat uitvoeringsplan SSMS werkbalkitem

De queryprestaties verbeteren in SQL Server

Geschat uitvoeringsplan in SSMS

 

Geschat uitvoeringsplan SSMS werkbalkitem met tooltip

De queryprestaties verbeteren in SQL Server

Uitvoeringsplannen bekijken in SSMS

Uitvoeringsplan in SSMS

De queryprestaties verbeteren in SQL Server

Operatorstatistieken

Operatorstatistieken van uitvoeringsplan

De queryprestaties verbeteren in SQL Server

Uitvoeringsplannen lezen

Operators in uitvoeringsplan

De queryprestaties verbeteren in SQL Server

Voorbeeld met index

SELECT * 
FROM Customers
WHERE CustomerID = 'PARIS';

Tablescan-operator

SELECT * 
FROM CustomersCI
WHERE CustomerID = 'PARIS';

Clustered index seek-operator

De queryprestaties verbeteren in SQL Server

Voorbeeld van sorteeroperator

SELECT FruitName, FruitType
FROM Fruits1

UNION

SELECT FruitName, FruitType
FROM Fruits2;

Uitvoeringsplan met UNION

SELECT FruitName, FruitType
FROM Fruits1

UNION ALL

SELECT FruitName, FruitType
FROM Fruits2;

Uitvoeringsplan met UNION ALL

De queryprestaties verbeteren in SQL Server

Hetzelfde uitvoeringsplan?

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

Uitvoeringsplan voor IN en EXISTS

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

Uitvoeringsplan voor IN en EXISTS

De queryprestaties verbeteren in SQL Server

Laten we oefenen!

De queryprestaties verbeteren in SQL Server

Preparing Video For Download...