Chương 8<br />
Tối ưu truy vấn<br />
<br />
Nội dung chi tiết<br />
<br />
<br />
<br />
<br />
<br />
<br />
Giới thiệu<br />
Nguyên tắc tối ưu<br />
Các qui tắc chuyển đổi<br />
Biểu thức tương đương<br />
Ví dụ<br />
<br />
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM<br />
<br />
2<br />
<br />
Giới thiệu<br />
Tối ưu truy vấn<br />
- Là biến đổi câu hỏi này sang câu hỏi khác (nhưng có<br />
cùng kết quả) nhằm giảm thiểu thời gian tính toán<br />
<br />
Quan tâm<br />
- Cách cài đặt câu hỏi<br />
•<br />
•<br />
•<br />
<br />
Giải thuật – độ phức tạp<br />
Không gian lưu trữ – ít /nhiều<br />
Thời gian xử lý – nhanh/chậm<br />
<br />
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM<br />
<br />
3<br />
<br />
Giới thiệu (tt)<br />
Giả sử<br />
- Xử lý 1000 records mất 1 giây<br />
- Xử lý 4.000.000 records mất 4.000 giây<br />
Khó chấp nhận khi phải chờ đợi kết quả truy vấn<br />
<br />
Xử lý thông tin<br />
- Ưu tiên tối ưu hóa thời gian hơn tối ưu hóa lưu trữ<br />
•<br />
•<br />
<br />
Bỏ qua dạng chuẩn để đạt tốc độ xử lý nhanh hơn<br />
Dung lượng HDD ngày càng nhiều, nhưng có khả năng thiếu<br />
không gian tính toán<br />
Phép tích Cartesian hay phép kết<br />
<br />
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM<br />
<br />
4<br />
<br />
Nguyên tắc tối ưu<br />
Ví dụ<br />
- R(A, B) có u bộ<br />
- S(C, D) có v bộ<br />
- Cho biết giá trị của A sao cho B=C và D=50<br />
<br />
(<br />
<br />
(B=C) (D=50)<br />
<br />
(<br />
<br />
B=C<br />
<br />
A<br />
<br />
A<br />
<br />
(R<br />
A<br />
<br />
(R <br />
<br />
B=C<br />
<br />
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM<br />
<br />
<br />
<br />
<br />
<br />
(<br />
<br />
(R S))<br />
D=50(S)))<br />
<br />
Biến đổi tương đương<br />
<br />
D=50(S))<br />
<br />
5<br />
<br />