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
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:
bai_giang_thiet_ke_va_quan_tri_co_so_du_lieu_bai_3_to_chuc_i.pdf

