Bài giảng Cách tạo và làm việc với chỉ mục (Index)

•Cung cấp một tập các con trỏ logic chỉ tới dữ liệu •Truy xuất dữ liệu nhanh hơn bình thường. •Làm tăng tốc độ khi kết nối hai bảng •Tạo tính duy nhất cho mỗi dòng

pdf18 trang | Chia sẻ: haohao89 | Lượt xem: 2374 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Cách tạo và làm việc với chỉ mục (Index), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nguyễn Trong Anh E-Mail: anh@tronganh.com tronganh@gmail.com Home: Cách tạo và làm việc với Chỉ Mục (INDEX) 1-2SQL server 2000 – Transact SQL - Index Các đặc điểm của chỉ mục •Cung cấp một tập các con trỏ logic chỉ tới dữ liệu •Truy xuất dữ liệu nhanh hơn bình thường. •Làm tăng tốc độ khi kết nối hai bảng •Tạo tính duy nhất cho mỗi dòng 1-3SQL server 2000 – Transact SQL - Index Các đặc điểm của chỉ mục (2) •Tự động cập nhật chỉ mục khi sửa dữ liệu •Thời gian và tài nguyên cho việc tạo chỉ mục là nhiều. Nếu không sử dụng thường xuyên ta không nên tạo chỉ mục 1-4SQL server 2000 – Transact SQL - Index Cấu trúc và hoạt động của chỉ mục •Chỉ mục được lưu trữ theo cấu trúc của cây nhị phân. •Mỗi cấp của chỉ mục là một danh sách liên kết đôi •Khi hiệu chỉnh dữ liệu trong bảng, mỗi chỉ mục của bảng cũng được hiệu chỉnh. SQL đảm bảo tính nhất quán giữa dữ liệu ghi trong các bảng và các chỉ mục giữa chúng. •Nếu có hai chỉ mục trên một bảng, việc thêm 1 dòng thực hiện ít nhất hai tác vụ I/Os. Î chúng ta phải cân nhắc giữa việc cập nhật dữ liệu hay truy vấn nhanh. 1-5SQL server 2000 – Transact SQL - Index Các tuỳ chọn của chỉ mục •Chỉ mục clustered •Chỉ mục Non-Clustered 1-6SQL server 2000 – Transact SQL - Index Các tuỳ chọn (Clustered) Sắp xếp lại dữ liệu về mặt vật lý. Chỉ có duy nhất một clustered trong một bảng Yêu cầu ít nhất 120% kích thước của bảng có thể sử dụng trong vùng tạm. Khoảng trống vùng tạm tồn tại trong CSDL tạo chỉ mục mà chúng ta tạo chỉ mục. 1-7SQL server 2000 – Transact SQL - Index Các tuỳ chọn (Non - Clustered) •Thứ tự các dòng trong bảng không sắp xếp về mặt vật lý giống Clustered •Đây là kiểu điển hình để tạo chỉ mục cho cột liên kết các cột khác. Các giá trị có thể được thay đổi thường xuyên. •SQL server sử dụng mặc định khi tạo chỉ mục là non – clustered •Chúng ta có thể tạo 249 non – clustered cho mỗi bảng 1-8SQL server 2000 – Transact SQL - Index Chỉ mục (Index) Chỉ mục Clustered tạo trước Non - Clustered Dùng chỉ mục Non – Clustered để tạo Foreign key Cú pháp: CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX ten_chimuc ON ten_bang( ten_cot[,ten_cot]…) 1-9SQL server 2000 – Transact SQL - Index Tạo chỉ mục Tạo chỉ mục có tên là CallIndex Tại Bảng TestCalls tại trường (CallID) Create nonclustered index CallIndex on TestCalls(CallID) 1-10SQL server 2000 – Transact SQL - Index Xem chỉ mục đã được Tạo Cú pháp: sp_helpindex TenBang Xem trong bảng TestCalls có bao nhiêu chỉ mục và đó là những chỉ mục nào sp_helpindex TestCalls 1-11SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard 1-12SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (2) 1-13SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (3) 1-14SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (4) 1-15SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (5) 1-16SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (6) 1-17SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (7) 1-18SQL server 2000 – Transact SQL - Index Sử dụng Index Tuning Wizard (8)
Tài liệu liên quan