Metode alternative 2

Îmbunătățirea performanței interogărilor în SQL Server

Dean Smith

Founder, Atamai Analytics

INNER JOIN

SELECT c.CustomerID
      ,c.CompanyName
      ,o.OrderID
      ,o.OrderDate
      ,o.ShippedDate
      ,o.Freight
FROM Customers c
INNER JOIN Orders o
    ON c.CustomerID = o.CustomerID
CustomerID CompanyName OrderID ...
VINET Vins et alcools Chevalier 10248 ...
HANAR Hanari Carnes 10250 ...
VICTE Victuailles en stock 10251 ...
SUPRD Suprêmes délices 10252 ...
... ... ... ...
Îmbunătățirea performanței interogărilor în SQL Server

LEFT OUTER JOIN

Inclusiv LEFT OUTER JOIN

Diagramă Venn LEFT OUTER JOIN inclusiv

Exclusiv LEFT OUTER JOIN

Diagramă Venn LEFT OUTER JOIN exclusiv

Îmbunătățirea performanței interogărilor în SQL Server

LEFT OUTER JOIN exclusiv

SELECT c.CustomerID
      ,c.CompanyName
      ,o.OrderID
      ,o.OrderDate
      ,o.ShippedDate
      ,o.Freight
FROM Customers c
LEFT OUTER JOIN Orders o
    ON c.CustomerID = o.CustomerID
WHERE o.CustomerID IS NULL
CustomerID CompanyName OrderID ...
FISSA FISSA Fabrica Inter. Salchichas S.A. NULL ...
PARIS Paris spécialités NULL ...
Îmbunătățirea performanței interogărilor în SQL Server

Recapitulare: INTERSECT și EXCEPT

INTERSECT: verifică prezența

EXCEPT: verifică absența

Avantaje

  • Util pentru analiza datelor
  • Elimină duplicatele din rezultate

Dezavantaj

  • Numărul și ordinea coloanelor din SELECT trebuie să fie identice între interogări
Îmbunătățirea performanței interogărilor în SQL Server

Recapitulare: EXISTS și NOT EXISTS

EXISTS: verifică prezența

NOT EXISTS: verifică absența

Avantaje

  • Sub-interogarea se oprește imediat ce evaluează TRUE
  • Rezultatele pot conține orice coloană din interogarea externă, în orice ordine

Dezavantaj

  • Rezultatele pot conține doar coloane din interogarea externă
Îmbunătățirea performanței interogărilor în SQL Server

Recapitulare: IN și NOT IN

IN: verifică prezența

NOT IN: verifică absența

Avantaj

  • Rezultatele pot conține orice coloană din interogarea externă, în orice ordine

Dezavantaje

  • Rezultatele pot conține doar coloane din interogarea externă
  • Nu sunt returnate rezultate din cauza modului în care NOT IN tratează valorile null din sub-interogare
Îmbunătățirea performanței interogărilor în SQL Server

Recapitulare: INNER JOIN și L.O.J. exclusiv

INNER JOIN: verifică prezența

LEFT OUTER JOIN exclusiv: verifică absența

Avantaj

  • Rezultatele pot conține orice coloană, din toate interogările îmbinate, în orice ordine

Dezavantaj

  • Necesită adăugarea condiției IS NULL în clauza WHERE pentru LEFT OUTER JOIN exclusiv
Îmbunătățirea performanței interogărilor în SQL Server

Vamos praticar!

Îmbunătățirea performanței interogărilor în SQL Server

Preparing Video For Download...