Bài giảng "Cơ sở dữ liệu: Chỉ số" cung cấp cho người học các kiến thức: Khái niệm, lệnh tạo index, quá trình tìm kiếm theo index, các kiểu index. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu. | Bài giảng Cơ sở dữ liệu: Chỉ số - ThS. Nguyễn Ngọc Quỳnh Châu CHỈ SỐ (INDEX) Khái niệm • Là một trong những yếu tố quan trọng làm tăng tốc độ truy vấn dữ liệu • Index cung cấp phương pháp truy xuất nhanh chóng tới các dòng trong bảng, tương tự như mục lục của cuốn sách • Index được tạo ra trên các cột của table hay của view • Cấu trúc của Index: Index được tạo thành từ các index node (index page) và chúng được tổ chức trong một cấu trúc có tên gọi là B-tree • Index được sử dụng để tìm ra giá trị duy nhất • Index có thể được tạo ra bởi 1 hoặc nhiều trường. Đối với những trường được khai báo là UNIQUE, SQL Server tự động tạo index cho trường đó. • Nên sử dụng index trên cột khi: • Cột được sử dụng thường xuyên cho việc tìm kiếm • Cột được dùng để sắp xếp dữ liệu • Không nên sử dụng index khi: • Bảng chứa ít dòng • Cột chỉ chứa đựng vài giá trị khác nhau Lệnh tạo index CREATE [UNIQUE] [CLUSTERED] [NON CLUSTERED] INDEX idex_name ON table_name ( column_name, column_name) • Ví dụ: CREATE CLUSTERED INDEX ind_NHANVIEN ON NHANVIEN(MaNhanVien) • Hiển thị index trong bảng: Sp_helpindex NHANVIEN • Xóa index: DROP INDEX DROP INDEX Quá trình tìm kiếm theo index • Khi index được tạo, giá trị của cột được đánh chỉ số sẽ đươc lưu trữ trong B-tree gồm các index page • Bảng dữ liệu được lưu trữ trong các index page theo thứ tự của giá trị trong cột được chỉ số. • Khi có yêu cầu truy vấn theo cột được index, thay vì quét toàn bộ bảng dữ liệu thì sẽ quét cây B-tree để tìm xem dong dữ liệu nằm trên index page nào. Các kiểu index • Clustered Index: • Xác định thứ tự lưu trữ vật lý của dữ liệu trong bảng • Mỗi bảng chỉ có duy nhất một clustered index • Non-clustered Index • Xác định thứ tự lưu trữ logic của dữ liệu trong bảng • Dữ liệu được lưu ở một vùng, index được lưu ở vùng khác, có con trỏ trỏ đến vùng lưu trữ dữ liệu • Một bảng có thể có nhiều non-clustered index, lớn nhất là .