Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Bài 3: Tổ chức Index hiệu quả - Vũ Tuyết Trinh

Thiết kế và quản trị cơ sở dữ liệu  
Tổ chức Index hiệu quả  
Vũ Tuyết Trinh  
Bộ môn Hệ thống thông tin, Viện CNTT&TT  
Đại học Bách Khoa Hà Nội  
Nội dung  
Một sô kiểu truy vấn  
Đánh chỉ mục (mục tiêu)  
Tổ chức index  
Tổ chức dữ liệu trên đĩa  
Chi phí cho Index (tạo, duy trì, sử dụng)  
“Phân tán” dữ liệu  
1
Vũ Tuyết Trinh  
Thiết kế và quản trị cơ sở dữ liệu  
Một số kiểu truy vấn  
SELECT balance  
FROM accounts  
Truy vấn với điều kiện  
WHERE number = 1023;  
chính xác trên khóa  
SELECT balance  
FROM accounts  
Truy vấn với điều kiện  
WHERE branchnum = 100;  
trên thuộc tính bất kỳ  
SELECT number  
FROM accounts  
WHERE balance > 10000;  
Truy vấn với điều kiện  
trong khoảng  
SELECT *  
FROM employees  
WHERE name = „Jensen‟  
and firstname = „Carl‟  
3
and age < 30;  
Một số kiểu truy vấn (2)  
SELECT *  
FROM accounts  
WHERE balance = ( select max(balance)  
Truy vấn lồng nhau  
from accounts)  
SELECT *  
FROM accounts  
ORDER BY balance;  
Truy vấn có sắp xếp  
Truy vấn nhóm  
SELECT branchnum, avg(balance)  
FROM accounts  
GROUP BY branchnum;  
SELECT distinct branch.adresse  
FROM accounts, branch  
WHERE  
Truy vấn kết nối  
accounts.branchnum = branch.number  
and accounts.balance > 10000;  
2
Vũ Tuyết Trinh  
Thiết kế và quản trị cơ sở dữ liệu  
Đánh chỉ mục trong CSDL  
Điều kiện  
truy nhập  
dữ liệu  
Bản ghi  
Phù hợp  
index  
{Tuples}  
Khóa tìm kiếm  
(Sequential vs. Non sequential)  
5
B-Tree  
96  
75 83  
107  
33 48 69 75 80 81 83 92 95 96 98 103 107 110 120  
3
Vũ Tuyết Trinh  
Thiết kế và quản trị cơ sở dữ liệu  
Các tham số ảnh hưởng đến hiệu năng  
Số lượng các nút  
Kích thước khóa  
Độ sâu của cây  
Số trang nhớ sử dụng  
Chi phí duy tri (thêm, cập nhật, xóa)  
Hash Index  
Hàm băm (hash function)  
(key, value)  
Hashed key values  
key  
2341  
R1 R5  
0
1
Hash  
function  
R3 R6 R9 R14 R17 R21 R25  
n
4
Vũ Tuyết Trinh  
Thiết kế và quản trị cơ sở dữ liệu  
Clustered vs. Unclustered Index  
Index entries  
direct search for  
data entries  
UNCLUSTERED  
CLUSTERED  
Data entries  
Data entries  
(Index File)  
(Data file)  
Data Records  
Data Records  
Dense vs. Sparse index  
record  
P1  
P2  
Pi  
record  
record  
5
Vũ Tuyết Trinh  
Thiết kế và quản trị cơ sở dữ liệu  
Các ràng buộc và chỉ mục  
Khóa chính, khóa duy nhất  
a non-clustered index.  
Khóa ngoài  
Không tạo index  
Phân cụm bảng dữ liệu  
Ví dụ  
Supplier(supplier_ID, supplier_address)  
Onorder(supplier_ID, part_ID, quantity)  
Cluster: gồm dữ liệu từ 1 hoặc nhiều bảng có  
chung 1 hoặc 1 số cột  
Cluster key: cột chung giữa các bảng  
Supplier_ID  
12  
6
Vũ Tuyết Trinh  
Thiết kế và quản trị cơ sở dữ liệu  
Phân cụm bảng khi nào?  
Truy vấn kết nối các bảng được tạo trong  
cùng cụm?  
Truy vấn dữ liệu trên từng bảng dựa trên  
trường dữ liệu khóa (cluster key)?  
Đọc toàn bộ bảng ?  
Thêm bản ghi ?  
Xóa bản ghi ?  
7
Vũ Tuyết Trinh  
pdf 7 trang Thùy Anh 14080 Free
Bạn đang xem tài liệu "Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Bài 3: Tổ chức Index hiệu quả - Vũ Tuyết Trinh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_thiet_ke_va_quan_tri_co_so_du_lieu_bai_3_to_chuc_i.pdf