Uitvoeringsplannen

De queryprestaties verbeteren in SQL Server

Dean Smith

Founder, Atamai Analytics

Optimalisatiefase

Optimalisatiefase

De queryprestaties verbeteren in SQL Server

Optimalisatiefase

Optimalisatiefase met beschrijving

Geraamde kosten omvatten:

  • Processorgebruik
  • Geheugengebruik
  • Lezen van datablokken
De queryprestaties verbeteren in SQL Server

Optimalisatiefase

Optimalisatiefase en uitvoeringsengine

Geraamde kosten omvatten:

  • Processorgebruik
  • Geheugengebruik
  • Lezen van datablokken
De queryprestaties verbeteren in SQL Server

Informatie uit uitvoeringsplannen

Uitvoeringsplannen tonen info over:

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

Geraamd uitvoeringsplan in SSMS

 

Knop Geschat uitvoeringsplan in SSMS-werkbalk

De queryprestaties verbeteren in SQL Server

Geraamd uitvoeringsplan in SSMS

 

Knop Geschat uitvoeringsplan in SSMS-werkbalk 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

Indexvoorbeeld

SELECT * 
FROM Customers
WHERE CustomerID = 'PARIS';

Operator tablescan

SELECT * 
FROM CustomersCI
WHERE CustomerID = 'PARIS';

Operator geclusterde index seek

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...