De queryprestaties verbeteren in SQL Server
Dean Smith
Founder, Atamai Analytics
Clustered index
Clustered index
Nonclustered index
ROOT NODE:
A G O W
BRANCH NODES:
A B E F G H J K O P S T
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2 Pagina 3 Pagina 4
Indexkolom |... Indexkolom |... Indexkolom | ... Indexkolom | ...
A | ... E | ... I | ... M | ...
B | ... F | ... J | ... N | ...
C | ... G | ... K | ... O | ...
D | ... H | ... L | ... P | ...
... ... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGINAKNOOPPUNTEN:
Pagina 1
CustomerID |...
ALFKI | ...
ANATR | ...
BLONP | ...
BSBEV | ...
...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2
CustomerID |... CustomerID|...
ALFKI | ... FOLIG | ...
ANATR | ... FRANK | ...
BLONP | ... GALED | ...
BSBEV | ... GREAL | ...
... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2 Pagina 3
CustomerID |... CustomerID|... CustomerID | ...
ALFKI | ... FOLIG | ... LILAS | ...
ANATR | ... FRANK | ... LINOD | ...
BLONP | ... GALED | ... MEREP | ...
BSBEV | ... GREAL | ... MORGK | ...
... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2 Pagina 3 Pagina 4
CustomerID |... CustomerID|... CustomerID | ... CustomerID | ...
ALFKI | ... FOLIG | ... LILAS | ... OCEAN | ...
ANATR | ... FRANK | ... LINOD | ... PARIS | ...
BLONP | ... GALED | ... MEREP | ...
BSBEV | ... GREAL | ... MORGK | ...
... ... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:
ALFKI FOLIG OLDWO WOLZA
BRANCH NODES:
ALFKI BONAP DRACD FISSA FOLIG GALED LILAS NORTS OCEAN OLDWO QUICK WOLZA
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2 Pagina 3 Pagina 4
CustomerID |... CustomerID|... CustomerID | ... CustomerID | ...
ALFKI | ... FOLIG | ... LILAS | ... OCEAN | ...
ANATR | ... FRANK | ... LINOD | ... PARIS | ...
BLONP | ... GALED | ... MEREP | ... PICCO | ...
BSBEV | ... GREAL | ... MORGK | ... QUICK | ...
... ... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:
OLDWO WOLZA
BRANCH NODES:
ALFKI BONAP DRACD FISSA FOLIG GALED LILAS NORTS OCEAN OLDWO QUICK WOLZA
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2 Pagina 3 Pagina 4
CustomerID |... CustomerID|... CustomerID | ... CustomerID | ...
ALFKI | ... FOLIG | ... LILAS | ... OCEAN | ...
ANATR | ... FRANK | ... LINOD | ... PARIS | ...
BLONP | ... GALED | ... MEREP | ... PICCO | ...
BSBEV | ... GREAL | ... MORGK | ... QUICK | ...
... ... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:
OLDWO WOLZA
BRANCH NODES:
OLDWO QUICK
PAGINAKNOOPPUNTEN:
Pagina 1 Pagina 2 Pagina 3 Pagina 4
CustomerID |... CustomerID|... CustomerID | ... CustomerID | ...
ALFKI | ... FOLIG | ... LILAS | ... OCEAN | ...
ANATR | ... FRANK | ... LINOD | ... PARIS | ...
BLONP | ... GALED | ... MEREP | ... PICCO | ...
BSBEV | ... GREAL | ... MORGK | ... QUICK | ...
... ... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:
OLDWO WOLZA
BRANCH NODES:
OLDWO QUICK
PAGINAKNOOPPUNTEN:
Pagina 4
CustomerID | ...
OCEAN | ...
PARIS | ...
PICCO | ...
QUICK | ...
...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:
OLDWO WOLZA
BRANCH NODES:
OLDWO QUICK
PAGINAKNOOPPUNTEN:
Pagina 4
CustomerID | ...
PARIS | ...
SET STATISTICS IO ON
SELECT *
FROM PlayerStats
WHERE Team = 'OKC'
Tabel PlayerStats zonder index
Table 'PlayerStats'. ..., logical reads 12, ...
Tabel PlayerStats met clustered index op Team
Table 'PlayerStats'. ..., logical reads 2, ...
De queryprestaties verbeteren in SQL Server