Đang tải... (xem toàn văn)
v Chức năng của xử lý truy vấn:§ Biến đổi một truy vấn phức tạp thành một truy vấn tương đương đơn giản hơn.. v Phương pháp biến đổi đại số§ Đơn giản hóa câu truy vấn nhờ các phép biến đ
Trang 1Chương 6
Trang 21 Giới thiệu về xử lý truy vấn2 Qui tắc tối ưu cây truy vấn
3 Tối ưu hóa truy vấn trong môi trường tập trung
NỘI DUNG
Trang 31 Giới thiệu về xử lý truy vấn
NỘI DUNG
Trang 4v Chức năng của xử lý truy vấn:
§ Biến đổi một truy vấn phức tạp thành một truy vấn tương đương đơn giản hơn
§ Phép biến đổi này phải đạt được cả về tính đúng đắn và hiệu quả
§ Mỗi cách biến đổi dẫn đến việc sử dụng tài nguyên máy tính khác nhau,
Trang 5v Phương pháp biến đổi đại số
§ Đơn giản hóa câu truy vấn nhờ các phép biến đổi đại số tương đương nhằm giảm thiểu thời gian thực hiện các phép toán.
§ Phương pháp này không quan tâm đến kích thước và cấu trúc dữ liệu
§ Xác định kích thước dữ liệu, thời gian thực hiện mỗi phép toán trong câu truy vấn
§ Phương pháp này quan tâm đến kích thước dữ liệu và phải tính toán
Trang 6Tối ưu hóa đại số quan hệ
Truy vấn đại số quan hệ đã tối ưu
Chọn chiến lược tối ưu
Tạo sinh mã
Kế hoạch thực hiện
Sơ đồ chung
Trang 72 Qui tắc tối ưu cây truy vấn
NỘI DUNG
Trang 8R S =SR
(R S) T = R (S T) R x S = S x R
(R x S) x T = R x (S x T)R S = S R
R (S T) = (R S) T
Trang 10p (R S) = [p (R)] SR [q (S)]
Trang 13l Cho
l X = tập thuộc tính con của R
l Y = tập thuộc tính con của R
l Ta có
l XY = X Y
XY (R) = X [Y (R)]
Trang 14Pushing projections
l Cho
l X = tập thuộc tính con của R
l Y = tập thuộc tính con của S
l Z = tập giao thuộc tính của R và S
XY (R S) = XY [ XZ(R) YZ(S)]
Except intersection and difference
Trang 15l Cho
l X = tập thuộc tính con của R
l Z = tập thuộc tính con của R xuất hiện trong vị từ p
X [p (R)] = {X p [XZX (R)]}
Trang 16l Cho
l X = tập thuộc tính con của R
l Y = tập thuộc tính con của S
l Z = tập giao thuộc tính của R và S
l Z’ = Z {các thuộc tính xuất hiện trong vị từ p}
XY [ p (R S)] =
XY {p [XZ’ (R) YZ’ (S)]}
Trang 18l Bình thường
l Chiếu trước
l Nhưng
l Giả sử A và B được cài đặt chỉ mục (index)
l Physical query plan dùng chỉ mục để chọn ra những bộ có A=3 và B=‘a’ trước
l Nếu thực hiện chiếu trước AB(R) thì chỉ mục trên A và B là vô ích
l Chọn trước
Thông thường chọn trước tốt hơn
Trang 19C (R S) = R C S
R S = L [C (R S)]
Trang 22Customer.cusID=Account.cusID balance=100CustomerAccount
x
Trang 23Customer.cusID=Account.cusIDQui tắc
Trang 24CustomerAccountCustomer.cusID=Account.cusIDQui tắc ,
Trang 25Customer.cusID=Account.cusIDPushing
Trang 26cusNm, cusID cusIDPushing
Trang 27QT1: Xử lý toán tử AND trong điều kiệnQT2: Thay đổi thứ tự của các phép chọnQT3: Xử lý các phép chiếu
Descartes, hội và giao
QT10: Phân phối của phép chọn đối với
các phép toán
Trang 28QT1: Xử lý toán tử AND trong điều kiện
Trang 29QT2: Thay đổi thứ tự của các phép chọn
Trang 30QT3: Xử lý các phép chiếu
Trang 31QT4: Thay đổi thứ tự các phép chọn và phép chiếu
Trang 32QT5: Tính giao hoán của phép kết và tích Descartes
Trang 33QT6a: Thay đổi thứ tự giữa phép chọn và phép kết
Trang 34QT6b: Phân phối giữa phép chọn và phép kết
Trang 35QT7a: Thay đổi thứ tự giữa phép chiếu và phép kết
Trang 36QT7b: Phân phối giữa phép chiếu và phép kết
Trang 37QT8: Giao hoán của phép hội và phép giao
QT9: Kết hợp giữa phép kết, tích Descartes, hội và giao
Trang 38QT10: Phân phối của phép chọn đối với các phép toán
QT11: Phân phối của phép chiếu đối với các phép toán
Trang 39QT12: Chuyển các phép chọn, tích Descartes thành phép kết
Trang 403 Tối ưu hóa truy vấn trong môi trường tập trung
NỘI DUNG
Trang 411 Áp dụng QT1, tách các phép chọn liên tiếp thành 1 dãy các phép chọn.
2 Áp dụng QT2,4,6 và 10, để đẩy phép chọn xuống càng sâu càng tốt.
3 Áp dụng QT9 để tái tổ chức cây cú pháp sao cho phép chọn được thực hiện có lợi nhất (chọn ít nhất) heuristic.
4 Phối hợp tích Decartes với các phép chiếu thích hợp theo sau.
5 Áp dụng QT3, 4, 7 và 11 để đẩy phép chiếu xuống càng sâu càng tốt
(có thể phát sinh phép chiếu mới).
Trang 42QT1: Xử lý toán tử AND trong điều kiệnQT2: Thay đổi thứ tự của các phép chọnQT3: Xử lý các phép chiếu
Descartes, hội và giao
QT10: Phân phối của phép chọn đối với
các phép toán
QT11: Phân phối của phép chiếu đối với
các phép toán
QT12: Chuyển các phép chọn, tích
Trang 43NHANVIEN(manv, honv, tennv, ngaysinh, )DEAN(mada, tenda, )
THAMGIA(manv, mada, )
Trang 51v Cho biết một phần của lược đồ CSDL toàn cục của phòng khám ABC như sau:§ PhongKham(MaPK, TenPK, DiaChi, Quan, DienThoai)
§ BenhNhan(MaBN, TenBN, NgaySinh, DiaChi, DienThoai, GioiTinh)
§ BacSy(MaBS, TenBS, TenDangNhap, MatKhau, MaCK)
Trang 52v Hãy mô tả tiến trình tối ưu hóa câu truy vấn sau:
FROM PhongKham PK, ChuyenKhoa CK, BenhNhan BN, KhamBenh KB, BacSy BS
AND BN.MaBN= KB.MaBN AND BS.MaBS = KB.MaBS AND NgayKham=’10/06/2018’ AND TenBN=’Nguyễn Văn A’AND BN.DienThoai = ‘0932345678’ AND Quan=’Quận 7’AND TenKhoa=’Khoa Nhi’