Kiến trúc · Index
Key lookup và covering index
Key lookup so với covering index
Cùng truy vấn WHERE Status = 'New': index chỉ có Status phải quay về index gom cụm cho mỗi dòng (key lookup), còn covering index có INCLUDE đủ cột nên trả kết quả ngay từ tầng lá.
IX_LEADS_STATUS (STATUS)
IX_LEADS_STATUS_COVERING
KEY LOOKUP × N
Truy vấn
WHERE Status = 'New'
Seek trên B-tree
khoá: Status
Tầng lá
Status + LeadId
Index gom cụm
đọc cột còn thiếu
Seek trên B-tree
khoá: Status, CreatedAt
Tầng lá
+ INCLUDE(CompanyName, …)
Trả kết quả
không có key lookup
Tầng lá thiếu CompanyName,
EstimatedValue: mỗi dòng
phải quay về bảng.
50.000 dòng = 50.000 lần
tra cứu ngẫu nhiên; optimizer
thường bỏ index, quét bảng.
Index chứa mọi cột
truy vấn cần: đọc xong
ngay ở tầng lá.
CHÚ GIẢI
Cấu trúc index (B-tree)
Bước đọc
Không cần quay về bảng
Kết quả
© tiennhm