TS. Đặng ThThu Hiền
https://sites.google.com/site/tlucse484/ 1
Chương 7
Tối ưu hoá câu
hỏi truy vấn
TS. Đặng ThThu Hiền
https://sites.google.com/site/tlucse484/ 2
Tối ưu hoá u hỏi
!7.1. c ngun tắc tng quát đ ti ưu hóa
u hi
!7.2. Một số thuật toán tối ưu
TS. Đặng ThThu Hiền
https://sites.google.com/site/tlucse484/ 3
c nguyên tắc tổng quan
!t mt ví d đơn gin sau đây :
!Cho hai quan hệ R(A,B) với nbản ghi S (C,D) với mbản ghi.
Tích Đề-các của R S là một quan hệ Q (A,B,C,D) n*m bản ghi.
!u hỏi "Lấy giá tr của thuộc tính A sao cho B=C D=50".
!( ( R(A,B) x S(C,D) ) : (B=C D=50) ) [A]
!Nếu đưa phép chọn D=50 vào n trong phép tích Đề-các sẽ được:
!(( R (A,B) x (S(C,D) : (D = 50) ) ) : (B=C) ) [A]
!sau đó chuyển phép chọn B=C của tích Đề-các thành phép "kết
nối bằng" chúng ta thu được:
!(R(A,B) S(C,D) : (D=50) ) [A]
TS. Đặng ThThu Hiền
https://sites.google.com/site/tlucse484/ 4
c nguyên tắc tổng quan
!Rõ ràng, phép tính cuối ng sẽ đ tốn m thời gian
n rất nhiều.
!FViệc biến đổi u hỏi thành câu hỏi tương đương để
giảm bớt thi gian trả li u hỏi dựa tn ngun tc
thực hin pp chn ng sớm càng tt.
!FTrình tự thực hin các pp tính sẽ đóng một vai t
quan trọng quá tnh t chức u hỏi.
TS. Đặng ThThu Hiền
https://sites.google.com/site/tlucse484/ 5
c nguyên tắc tổng quan
!u chiến lược tổng quan của J. D. Ullman [4] :
!1. Thực hiện phép chn càng sớm càng tt.
!Biến đổi câu hỏi để đưa pp chọn vào thực hiện trước
nhằm m giảm bớt ch cỡ của kết qu trung gian do
vậy chi phí phải trả cho việc truy nhập bộ nhớ thcấp
ng như lưu trữ của bộ nhchính sẻ nhđi.
!2. T hợp nhng phép chn xác đnh với phép tích
Đề-các thành phép kết ni.
!Phép kết ni, đặc bit phép kết ni bằng (Equi Join)
th được thực hiện ít tn m hơn nhiều so với phép
tích Đề-các tn cùng các quan h.