chương 6 tối ưu câu truy vấn

52 0 0
Tài liệu đã được kiểm tra trùng lặp
chương 6 tối ưu câu truy vấn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 1

Chương 6

Trang 2

1 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 3

1 Giới thiệu về xử lý truy vấn

NỘI DUNG

Trang 4

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

§ 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 5

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 đổ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 6

Tố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 7

2 Qui tắc tối ưu cây truy vấn

NỘI DUNG

Trang 8

R 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 10

p (R S) = [p (R)] SR [q (S)]

Trang 13

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 R

l Ta có

l XY = X  Y

XY (R) = X [Y (R)]

Trang 14

Pushing 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 15

l 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 16

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

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 18

l 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 19

C (R S) = R C S

R  S = L [C (R  S)]

Trang 22

Customer.cusID=Account.cusID  balance=100CustomerAccount

x

Trang 23

Customer.cusID=Account.cusIDQui tắc 

Trang 24

CustomerAccountCustomer.cusID=Account.cusIDQui tắc ,

Trang 25

Customer.cusID=Account.cusIDPushing 

Trang 26

cusNm, cusID cusIDPushing 

Trang 27

QT1: 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 28

QT1: Xử lý toán tử AND trong điều kiện

Trang 29

QT2: Thay đổi thứ tự của các phép chọn

Trang 30

QT3: Xử lý các phép chiếu

Trang 31

QT4: Thay đổi thứ tự các phép chọn và phép chiếu

Trang 32

QT5: Tính giao hoán của phép kết và tích Descartes

Trang 33

QT6a: Thay đổi thứ tự giữa phép chọn và phép kết

Trang 34

QT6b: Phân phối giữa phép chọn và phép kết

Trang 35

QT7a: Thay đổi thứ tự giữa phép chiếu và phép kết

Trang 36

QT7b: Phân phối giữa phép chiếu và phép kết

Trang 37

QT8: 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 38

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

Trang 39

QT12: Chuyển các phép chọn, tích Descartes thành phép kết

Trang 40

3 Tối ưu hóa truy vấn trong môi trường tập trung

NỘI DUNG

Trang 41

1 Á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 42

QT1: 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 43

NHANVIEN(manv, honv, tennv, ngaysinh, )DEAN(mada, tenda, )

THAMGIA(manv, mada, )

Trang 51

v 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 52

v 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’

Ngày đăng: 16/06/2024, 16:09