Cải thiện hiệu năng truy vấn trong SQL Server
Dean Smith
Founder, Atamai Analytics
Chỉ mục cụm (Clustered)
Chỉ mục cụm (Clustered)
Chỉ mục không cụm (Non-clustered)
NÚT GỐC:
A G O W
CÁC NÚT NHÁNH:
A B E F G H J K O P S T
CÁC NÚT TRANG:
Trang 1 Trang 2 Trang 3 Trang 4
Cột chỉ mục |... Cột chỉ mục |... Cột chỉ mục | ... Cột chỉ mục | ...
A | ... E | ... I | ... M | ...
B | ... F | ... J | ... N | ...
C | ... G | ... K | ... O | ...
D | ... H | ... L | ... P | ...
... ... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
CÁC NÚT TRANG:
Trang 1
CustomerID |...
ALFKI | ...
ANATR | ...
BLONP | ...
BSBEV | ...
...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
CÁC NÚT TRANG:
Trang 1 Trang 2
CustomerID |... CustomerID|...
ALFKI | ... FOLIG | ...
ANATR | ... FRANK | ...
BLONP | ... GALED | ...
BSBEV | ... GREAL | ...
... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
CÁC NÚT TRANG:
Trang 1 Trang 2 Trang 3
CustomerID |... CustomerID|... CustomerID | ...
ALFKI | ... FOLIG | ... LILAS | ...
ANATR | ... FRANK | ... LINOD | ...
BLONP | ... GALED | ... MEREP | ...
BSBEV | ... GREAL | ... MORGK | ...
... ... ...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
CÁC NÚT TRANG:
Trang 1 Trang 2 Trang 3 Trang 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"
NÚT GỐC:
ALFKI FOLIG OLDWO WOLZA
CÁC NÚT NHÁNH:
ALFKI BONAP DRACD FISSA FOLIG GALED LILAS NORTS OCEAN OLDWO QUICK WOLZA
CÁC NÚT TRANG:
Trang 1 Trang 2 Trang 3 Trang 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"
NÚT GỐC:
OLDWO WOLZA
CÁC NÚT NHÁNH:
ALFKI BONAP DRACD FISSA FOLIG GALED LILAS NORTS OCEAN OLDWO QUICK WOLZA
CÁC NÚT TRANG:
Trang 1 Trang 2 Trang 3 Trang 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"
NÚT GỐC:
OLDWO WOLZA
CÁC NÚT NHÁNH:
OLDWO QUICK
CÁC NÚT TRANG:
Trang 1 Trang 2 Trang 3 Trang 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"
NÚT GỐC:
OLDWO WOLZA
CÁC NÚT NHÁNH:
OLDWO QUICK
CÁC NÚT TRANG:
Trang 4
CustomerID | ...
OCEAN | ...
PARIS | ...
PICCO | ...
QUICK | ...
...
SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
NÚT GỐC:
OLDWO WOLZA
CÁC NÚT NHÁNH:
OLDWO QUICK
CÁC NÚT TRANG:
Trang 4
CustomerID | ...
PARIS | ...
SET STATISTICS IO ON
SELECT *
FROM PlayerStats
WHERE Team = 'OKC'
Bảng PlayerStats không có chỉ mục
Table 'PlayerStats'. ..., logical reads 12, ...
Bảng PlayerStats có chỉ mục cụm trên Team
Table 'PlayerStats'. ..., logical reads 2, ...
Cải thiện hiệu năng truy vấn trong SQL Server