Bài giảng Kiến trúc cài đặt cơ sở dữ liệu - Chương 7: Chỉ mục (Index). Những nội dung chính được trình bày trong chương này gồm: Cơ bản về chỉ mục, chỉ mục: mục đích và các loại chỉ mục, kế hoạch thực thi chỉ mục, rebuild/reorganize chỉ mục. Mời các bạn tham khảo.
GV Phi Loan - Khoa CNTT – HUI N i dung • • • • C à à c Ch m c: m à à i ch m c K à à c R àR à c GV Phi Loan - Khoa CNTT – HUI Heap file • M à à à • T à à à à • F à à à àheap file àC à à à à à à à àrid à à à o file à à à à à à GV Phi Loan - Khoa CNTT – HUI C ̀ c heap file GV Phi Loan - Khoa CNTT – HUI Tm •C •Đ m và à à à c à à à m à à à à à à à à à à u •F à à à à à à à à à à à à m (search condition) GV Phi Loan - Khoa CNTT – HUI Ch m c - Indexes • M à i thi n vi c truy tìm d li u • Ý t ng: t ng t nh index c a sách –M –C –T à à à à à à à à à à à à à à à ch à à à à à à à à à à c à à à à à m GV Phi Loan - Khoa CNTT – HUI à à Ch m c - Index • Index ch a: – à à à c (index entry) – C ch dị tìm entry d a vào giá tr search key • Các c ch dị tìm: –C à ISAM hay B+ tree – Hash index c x p theo search key nh GV Phi Loan - Khoa CNTT – HUI B-tree indexes • B- à à à à à • C à à • “ à clustered à à à à à à à à à à à c node à à à a index à à à à à GV Phi Loan - Khoa CNTT – HUI à ànonà I • C à • C ̀ ̀ ̀ ̀ i u à à à àI Oà à à t h n à à à à à à à“ELECT àUPDáTE àDELETE àMERGE à • K à à n, query optimizer à à à à à u –D à à ng (table scan) –D à à à à GV Phi Loan - Khoa CNTT – HUI I ̀ ̀ • K à à • V à • P à à ̀ à ̀ i u à à à à à à à à n à à à àI Oà à i nguyên h n à à à à à à à à à à à à ng GV Phi Loan - Khoa CNTT – HUI 10 Index with included column • C à à à à à à àQ à à à à m à à à à à à à à à à à à à à à à à a à à àI Oà GV Phi Loan - Khoa CNTT – HUI 65 Index with included column • C à à –“ à –K à à à à16 à GV Phi Loan - Khoa CNTT – HUI 66 à à à900 bytes : V̀ •G ̀ ̀ ̀ à àD AdventureWorks ̀ ̀ ̀ ̀ c à àà a DB à – Title nvarchar(50) – Revision nchar(5) – FileName nvarchar(400) GV Phi Loan - Khoa CNTT – HUI 67 ̀ V̀ •C ̀ ̀ ̀ ̀ à à àĐ à à à INCLUDEà o ̀ ̀ à ̀ ̀ à à à CREATE INDEX IX_Document_Title ON Production.Document (Title, Revision) INCLUDE (FileName); GV Phi Loan - Khoa CNTT – HUI 68 c à àà V̀ ̀ ̀ ̀ ̀ ̀ c • G à à n sau: USE AdventureWorks; GO SELECT AddressLine1, AddressLine2, City, StateProvinceID, PostalCode FROM Person.Address WHERE PostalCode BETWEEN N'98000' and N'99999'; H à à à à y?? GV Phi Loan - Khoa CNTT – HUI 69 V̀ ̀ ̀ ̀ ̀ ̀ c CREATE INDEX IX_Address_PostalCode ON Person.Address (PostalCode) INCLUDE (AddressLine1, AddressLine2, City, StateProvinceID); GV Phi Loan - Khoa CNTT – HUI 70 B t l i c a index • Chi à • N u index l n trang index c n c vào b nh à n chi phí cho thao tác vào (I/O) • Index c c b o trì (maintenance): ch m c ph c s i v i s i c a d li u GV Phi Loan - Khoa CNTT – HUI 71 T ̀ ̀ •K a: –L –K ̀ à à à à à à ̀ a à à à à àC à à à à c commit à à à p GV Phi Loan - Khoa CNTT – HUI 72 V̀ ̀ ̀ cho index • G à à ̀ à n sau: ̀ à ̀ ̀ àC“DLà ng à –B à à à m 200 byte –C à àáà à àM à i 50 byte –C à àBà à àM à i 80 byte –B à à à à2 MB –G à à à à à à i àC à y 80 % GV Phi Loan - Khoa CNTT – HUI 73 V̀ ̀ ̀ ̀ ̀ ̀ ̀ ng cho index (Offline Index Operation) •X •X •X à à à à à à n c index à p GV Phi Loan - Khoa CNTT – HUI 74 à à V̀ ̀ ̀ ̀ ̀ ̀ ̀ ng cho index (Offline Index Operation) •X ̀ ̀ ̀ ̀ ̀ ̀ ̀ n – Heap: million * 200 bytes ~ 200 MB – Nonclustered index A: million * 50 bytes / 80% ~ 63 MB – Nonclustered index B: million * 80 bytes / 80% ~ 100 MB àT MB à à GV Phi Loan - Khoa CNTT – HUI à à363 75 V̀ ̀ ̀ ̀ ̀ ̀ ̀ ng cho index (Offline Index Operation) •X ̀ ̀ ̀ ̀ ̀ ̀ c index – Clustered index: million * 200 bytes / 80% ~ 250 MB – Nonclustered index A: million * (50 + 24) bytes / 80% ~ 83 MB – Nonclustered index B: million * (80 + 24) bytes / 80% ~ 120 MB T T à à à à à à453 MB à à à à à816 MB (363 + 453) GV Phi Loan - Khoa CNTT – HUI 76 V̀ ̀ ̀ ̀ ̀ ̀ ̀ ng cho index (Offline Index Operation) •X ̀ p ̀ ̀ ̀ ̀ ̀ ̀ ̀ – K à“ORT IN TEMPDBà à àON, tempdbà à à à à à à à à àMB àF à à à à ààK à nh riêng cho tempdbà à2 MB T à à à202 MB GV Phi Loan - Khoa CNTT – HUI 77 V̀ ̀ ̀ ̀ ̀ ̀ ̀ ng cho index (Offline Index Operation) •X ̀ p ̀ ̀ ̀ ̀ ̀ ̀ ̀ – K à“ORT IN TEMPDBà à àOFFà àMBà à à à à à à à K à nh riêng cho tempdbà à2 MB àT à à à2 MB GV Phi Loan - Khoa CNTT – HUI 78 V̀ ̀ ̀ ̀ ̀ ̀ ̀ ng cho index (Offline Index Operation) •X à à à n – Heap: million * 200 bytes ~ 200 MB – Nonclustered index A: million * 50 bytes / 80% ~ 63 MB – Nonclustered index B: million * 80 bytes / 80% ~ 100 MB àT MB à à GV Phi Loan - Khoa CNTT – HUI à à363 79 ... search key nh GV Phi Loan - Khoa CNTT – HUI B-tree indexes • B- à à à à à • C à à • “ à clustered à à à à à à à à à à à c node à à à a index à à à à à GV Phi Loan - Khoa CNTT – HUI à ànonà I... gi m m t n a GV Phi Loan - Khoa CNTT – HUI 30 T ̀ ̀ ̀ n • “QLà“ à à u: –T –I clustered –I b-tree à à à à heap à à à à c hay non-clustered à à u thông qua GV Phi Loan - Khoa CNTT – HUI 31 Bookmark... ànon- à i à GV Phi Loan - Khoa CNTT – HUI 42 à àà à à à à à à àà L ̀ ̀ ̀ c • Và : Create index idxname ON Customer (FirstName, LastName) GV Phi Loan - Khoa CNTT – HUI 43 L ̀ ̀ ̀ c GV Phi Loan -