You are on page 1of 7

Thiết kế và quản trị cơ sở dữ liệu

Tổ chức Index hiệu quả

Vũ Tuyết Trinh
trinhvt-fit@mail.hut.edu.vn

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

Vũ Tuyết Trinh 1

 Truy vấn kết nối SELECT distinct branch. SELECT number  Truy vấn với điều kiện FROM accounts WHERE balance > 10000. SELECT branchnum. Vũ Tuyết Trinh 2 . trong khoảng SELECT * FROM employees WHERE name = „Jensen‟ and firstname = „Carl‟ 3 and age < 30.Thiết kế và quản trị cơ sở dữ liệu Một số kiểu truy vấn SELECT balance  Truy vấn với điều kiện FROM accounts chính xác trên khóa WHERE number = 1023.balance > 10000. branch WHERE accounts.number and accounts. SELECT balance  Truy vấn với điều kiện FROM accounts trên thuộc tính bất kỳ WHERE branchnum = 100. Một số kiểu truy vấn (2) SELECT * FROM accounts  Truy vấn lồng nhau WHERE balance = ( select max(balance) from accounts) SELECT * FROM accounts  Truy vấn có sắp xếp ORDER BY balance.adresse FROM accounts.branchnum = branch. avg(balance)  Truy vấn nhóm FROM accounts GROUP BY branchnum.

Non sequential) 5 B-Tree 96 75 83 107 33 48 69 75 80 81 83 92 95 96 98 103 107 110 120 Vũ Tuyết Trinh 3 .Thiết kế và quản trị cơ sở dữ liệu Đánh chỉ mục trong CSDL Điều kiện Bản ghi truy nhập index {Tuples} Phù hợp dữ liệu Khóa tìm kiếm (Sequential vs.

cập nhật. xóa) Hash Index  Hàm băm (hash function)  (key.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. value) Hashed key values key 0 R1 R5 Hash 2341 function 1 R3 R6 R9 R14 R17 R21 R25 n Vũ Tuyết Trinh 4 .

Unclustered Index Index entries CLUSTERED direct search for UNCLUSTERED data entries Data entries Data entries (Index File) (Data file) Data Records Data Records Dense vs.Thiết kế và quản trị cơ sở dữ liệu Clustered vs. Sparse index record P1 P2 Pi record record Vũ Tuyết Trinh 5 .

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. 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 Vũ Tuyết Trinh 6 . supplier_address) Onorder(supplier_ID. 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. part_ID.

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 ? Vũ Tuyết Trinh 7 .