Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 5: Tối ưu hóa câu truy vấn trình bày các nội dung: Tổng quan về xử lý truy vấn, tối ưu hóa truy vấn dùng Heuristics, tối ưu hóa tuy vấn dùng phương pháp ước lượng chi phí. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu tham khảo và học tập.
17 Kế hoạch thực thi truy vấn Kế hoạch thực thi mức logic (Logical plan) thể mức cao dùng đại số, qua cấu trúc ngôn ngữ truy vấn Kế hoạch thực thi mức vật lý (Physical plan) thể cấp thấp liên quan đến việc thực hiện, qua phương pháp truy xuất Có nhiều kế hoạch thực thi truy vấn mức vật lý ứng với kế hoạch thực thi mức logic cho trước 18 LP PP Πtitle σstarName=name Hash join × Πname StarsIn SEQ scan σbirthdate LIKE ‘%1960’ StarsIn index scan MovieStar MovieStar 19 Các luật biến đổi tương đương σc1AND c2 AND…AND cn (R) ≡ σc1(σc2(… σcn (R) …)) σc1(σc2 (R)) ≡ σc2(σc1(R)) giao hoán σ ΠL1(ΠL2(…(ΠLn(R))…)) ≡ ΠL1(R) ΠL1,L2, …, Ln(σc(R)) ≡ σc(ΠL1,L2, …, Ln (R)) R1⋈c R2 ≡ R2⋈c R1 giao hoán ⋈ x σc(R1⋈ R2) ≡ (σc(R1)) ⋈ R2 R1xR2 ≡ R2xR1 σc(R1⋈ R2) ≡ (σc1(R1)) ⋈ (σc2(R2)) c viết c1 AND c2, c1 gồm thuộc tính R1, c2 gồm thuộc tính R2 ΠL(R1⋈c R2) ≡ (ΠA1, A2 …,An(R1)) ⋈c (Π B1, B2 …,Bn (R2)) đổi chỗ Π ⋈ (hoặc x) L = {A1, A2, … An, B1, B2, …, Bn} Ai ∈ R1, Bi ∈ R2 ∪ ∩ có tính giao hốn, phép – khơng Tính kết hợp θ: ⋈, x, ∪ ∩: (R1 θ R2 )θ R3 ≡ R1 θ (R2 θ R3) 10 σc (R1 θ R2) ≡(σc (R1)) θ (σc(R2)) đổi chỗ σ θ (gồm ∪, ∩ -) 11 ΠL (R1 ∪ R2) ≡ ΠL (R1) ∪ ΠL (R2) 12 σ c(R1xR2) ≡ R1 ⋈c R2 chuyển σ, x sang ⋈ 13 Luật DeMorgan NOT (C1 AND C2) ≡ (NOT C1) OR (NOT C2) NOT (C1 OR C2) ≡ NOT (C1) AND NOT(C2) 20 Các luật biến đổi tương đương 14 15 (σP (R1 - R2) ≡ σP (R1) – R2 ΠA1,…, An(σC(R)) ⇔ ΠA1,…, An(σC(ΠA1,…, An,Ap (R))) σc1(R1⋈c2 R2) ≡ R1⋈c1∧ c2 R2 21 Giải thuật tối ưu hóa bt ĐSQH dựa Heuristics Dùng quy tắc 1, tách phép chọn để tự di chuyển phép chọn xuống nhánh Dùng quy tắc 2, 4, 6, 10 liên quan đến tính giao hóan phép chọn phép toán khác để di chuyển phép chọn xuống nhánh Dùng quy tắc liên quan đến tính chất giao hốn kết hợp phép ngôi, để xếp lại nút cây, để phép chọn ưu tiên thực trước Dùng 12, kết hợp tích đề-các phép chọn thành phép kết, xem điều kiện chọn điều kiện kết Dùng 3, 4, 7, 11 để tách đẩy phép chiếu xuống nhánh Nhận biết nhánh biểu diễn cho nhóm thao tác thi hành chiến lược thực đơn 22 Tối ưu hóa câu truy vấn dùng việc chọn lựa ước lượng chi phí Ước lượng chi phí thi hành câu truy vấn cho nhiều chiến lược thực thi khác chọn chiến lược thi hành có chi phí thấp Chi phí cho chiến lược bao gồm: Chi phí truy xuất đến nơi lưu trữ thứ cấp (vd: đĩa cứng) Chi phí lưu trữ liệu kết trung gian Chi phí tính tốn: để thực thao tác nhớ Chi phí truyền thơng 23 Tối ưu hóa câu truy vấn dùng việc chọn lựa ước lượng chi phí Để ước lượng chi phí cho chiến lược truy vấn khác nhau, cần lưu lại thông tin cần thiết catalog để tối ưu hóa sử dụng – Số mẫu tin r – Kích thước trung bình mẫu tin R – Số khối b – Hệ số khối bfr – Chỉ mục có loại (primary, secondary, clustering): số mức x (nếu multilevel index), số block mức index bI1 –… 24 Hết chương 25 ... bình mẫu tin R – Số khối b – Hệ số khối bfr – Chỉ mục có loại (primary, secondary, clustering): số mức x (nếu multilevel index), số block mức index bI1 –… 24 Hết chương 25 ... C1) OR (NOT C2) NOT (C1 OR C2) ≡ NOT (C1) AND NOT(C2) 20 Các luật biến đổi tương đương 14 15 (σP (R1 - R2) ≡ σP (R1) – R2 ΠA1,…, An(σC(R)) ⇔ ΠA1,…, An(σC(ΠA1,…, An,Ap (R))) σc1(R1⋈c2 R2) ≡ R1⋈c1∧... kết hợp phép ngơi, để xếp lại nút cây, để phép chọn ưu tiên thực trước Dùng 12, kết hợp tích đề-các phép chọn thành phép kết, xem điều kiện chọn điều kiện kết Dùng 3, 4, 7, 11 để tách đẩy phép