Tải bản đầy đủ (.pdf) (18 trang)

Cách tạo và làm việc với chỉ mục (INDEX)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (620.59 KB, 18 trang )

Cách tạo và làm việc với Chỉ
Mục (INDEX)

Nguyễn Trong Anh
E-Mail:

Home:


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

SQL server 2000 – Transact SQL - Index

1-2


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

SQL server 2000 – Transact SQL - Index

1-3



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.
SQL server 2000 – Transact SQL - Index

1-4


Các tuỳ chọn của chỉ mục

•Chỉ mục clustered
•Chỉ mục Non-Clustered

SQL server 2000 – Transact SQL - Index

1-5


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.
SQL server 2000 – Transact SQL - Index

1-6


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

SQL server 2000 – Transact SQL - Index

1-7


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]…)
SQL server 2000 – Transact SQL - Index

1-8


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)

SQL server 2000 – Transact SQL - Index

1-9


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

SQL server 2000 – Transact SQL - Index

1-10



Sử dụng Index Tuning Wizard

SQL server 2000 – Transact SQL - Index

1-11


Sử dụng Index Tuning Wizard (2)

SQL server 2000 – Transact SQL - Index

1-12


Sử dụng Index Tuning Wizard (3)

SQL server 2000 – Transact SQL - Index

1-13


Sử dụng Index Tuning Wizard (4)

SQL server 2000 – Transact SQL - Index

1-14



Sử dụng Index Tuning Wizard (5)

SQL server 2000 – Transact SQL - Index

1-15


Sử dụng Index Tuning Wizard (6)

SQL server 2000 – Transact SQL - Index

1-16


Sử dụng Index Tuning Wizard (7)

SQL server 2000 – Transact SQL - Index

1-17


Sử dụng Index Tuning Wizard (8)

SQL server 2000 – Transact SQL - Index

1-18




×