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