Tối ưu hoá câu hỏi
lượt xem 10
download
Tốiưu hoá Biến đổi biểu thức ĐSQH để tìm 1 biểu thức hiệu quả Tối ưu dựa trên cấu trúc và nội dung của dữ liệu Nâng cao hiệu quả thực hiện câu hỏi trên 1 hay nhiều tiêu chí: thời gian, sử dụng bộ nhớ, ... Lưu ý: Không nhất thiết phải tìm biểu thức tối ưu nhất Chú ý tới tài nguyên sử dụng cho tối ưu
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tối ưu hoá câu hỏi
- Tối ưu hoá câu hỏi
- Xử lý câu hỏi truy vấn Câu lệnh SQL Phân tích Biểu thức cú pháp ĐSQH Biểu thức ĐSQH (parser) Bộ tối ưu t ố i ưu (optimizer) Bộ sinh mã (code generator) Chương trình t ố i ưu
- Tối ưu hoá Biến đổi biểu thức ĐSQH để tìm 1 biểu thức hiệu quả Tối ưu dựa trên cấu trúc và nội dung của dữ liệu Nâng cao hiệu quả thực hiện câu hỏi trên 1 hay nhiều tiêu chí: thời gian, sử dụng bộ nhớ, ... Lưu ý: Không nhất thiết phải tìm biểu thức tối ưu nhất Chú ý tới tài nguyên sử dụng cho tối ưu
- Kỹ thuật tối ưu hoá 2 kỹ thuật chính TYPE Tối ưu logic (rewriting) Tối ưu vật lý (access methods) Mục đích của các kỹ thuật tối ưu Giảm số bản ghi Giảm kích thước bản ghi NW Ví dụ WAGON WAGON (NW, TYPE, COND, STATION, (NW, TYPE...) CAPACITY, WEIGHT) NT = 4002 TRAIN (NT, NW) TRAIN (NT, NW)
- Nội dung Giới thiệu chung Tối ưu vật lý Mô hình giá Tối ưu logic
- Lựa chọn cách truy nhập dữ liệu Giả thiết TYPE TRAIN : có chỉ số trên NT WAGON : có chỉ số trên NW Thực hiện phép kết nối Lựa chọn 1 giải thuật. Lựa chọn cách truy nhập các NW quan hệ WAGON (NW, TYPE...) NT = 4002 TRAIN (NT, NW)
- Relation S Nested-loop-join (NLJ) Nguyên tắc Duyệt 1 lần trên quan hệ Matching ngoài R & lặp trên quan hệ trong S Tuple R Các mở rộng của thuật toán Tuple-based NLJ, block- based NLJ, index-based NLJ Tuple R Tuple S SOURCE SOURCE R S
- Mô hình giá Chi phí thực hiện câu hỏi truy vấn phụ thuộc: Đọc/ghi bộ nhớ ngoài (số trang nhớ) Kích thước dữ liệu phải xử lý Chi phí : Đọc/ghi dữ liệu Xử lý Truyền thông giữa các trạm CTA = * NBPAGES + * NBNUPLETS (+ * NBMESSAGES) Trọng số: = trọng số đọc/ghi dữ liệu (ví dụ = 1) = trọng số xử lý của CPU (ví dụ = 1/3) = trọng số truyền dữ liệu
- Tối ưu hoá dựa trên mô hình giá Mục đích: Chọn phương án thực hiện câu hỏi với chi phí thấp nhất Nhận xét: Chi phí cho liệt kê các phương án trả lời câu hỏi Chi phí cho lượng hoá các phương án theo mô hình giá Có thể sử dụng các « mẹo » (heuristics) để giảm không gian tìm kiếm của câu hỏi
- Đánh giá các biểu thức ĐSQH Vật chất hóa: Ghi các kết quả trung gian Chi phí đánh giá câu hỏi: + thời gian đọc/ghi DL trung gian Đường ống (pipelining): Tổ chức các phép toán trong 1 đường ống Kết quả ra của phép toán này được lấy ngay làm đầu vào cho phép toán kế tiếp Không mất thời gian đọc/ghi DL trung gian Không phải trường hợp nào cũng có thể thực hiện được
- Nội dung Giới thiệu chung Tối ưu vật lý Mô hình giá Tối ưu logic
- Tối ưu hoá logic Sử dụng các phép biến đổi tương đương để tìm ra biểu thức ĐSQH tốt Gồm 2 giai đoạn Biến đổi dựa trên ngữ nghĩa Biến đổi dựa trên tính chất của các phép toán ĐSQH
- Biến đổi dựa trên ngữ nghĩa Mục đích: Dựa trên các ràng buộc dữ liệu để xác định các biểu thức tương đương Viết lại câu hỏi trên khung nhìn dựa trên các định nghĩa của khung nhìn Ví dụ: EMPLOYEE (FirstName, LastName, SSN, Birthday, Adrresse, NoDept) DEPARTEMENT (DNO, DName, SSNManager) PROJECT (PNO, PName, PLocation, DNo) WORK-IN (ESSN, PNO, Heures)
- EMPLOYEE (Name, SSN, Birthday, Adrresse, NoDept) DEPARTEMENT (DNO, DName, SSNManager) PROJECT (PNO, PName, PLocation, DNo) WORK-IN (ESSN, NoProj, Heures) Tên của các nhân viên sinh sau ngày 30/01/70 và làm việc cho dự án "Esprit" Result = EMPLOYEE. WORK-IN.ESSN Name SSN WORK-IN = WORK-IN. PROJECT.PNO PNO NoProj = PNO = “Esprit” ESSN=SSN PROJECT.PName PROJECT PName = “Esprit” > EMPLOYEE. EMPLOYE “30/01/70” Birthday > “30/01/70 Birthday Đồ thị kết nối các quan hệ Đồ thị kết nối các thuộc tính
- Biến đổi dựa trên ngữ nghĩa .. Định nghĩa khung nhìn: V = R * S Câu truy vấn của client : Q = V * (T * U) Viết lại câu truy vấn dựa trên định nghĩa khung nhìn: Q = (R * S) * (T * U)
- Biến đổi dựa trên t/chất của ĐSQH
- Tính chất của phép toán ĐSQH A ~ tập các thuộc tính, F ~ biểu thức điều kiện 1. Phép chiếu và phép chọn A ( R) A ( A1 ( R)) A A1 if F ( R) F1 ( F 2 ( R)) if F F1^ F 2
- Tính chất của phép toán ĐSQH (2) A ~ tập các thuộc tính, F ~ biểu thức điều kiện 2. Tính giao hoán đối với phép chọn và chiếu F 1 ( F 2 ( R)) F 2 ( F1 ( R)) F 1 ( A2 ( R)) A2 ( F 1 ( R)) Nếu các thuộc tính của F2 thuộc A1 : A1 ( F 2 ( R)) F 2 ( A1 ( R)) Nếu A1 A2 : A1 ( A2 ( R)) A1 ( R)
- Tính chất của phép toán ĐSQH (3) 3. Tính giao hoán và kết hợp của các phép toán RS SR R*S S *R RS SR RS SR (R S ) T R (S T ) (R S ) T R (S T ) (R S ) T R (S T ) chỉ nếu (R S ) T R (S T ) Attr(F2) Attr(S) U Attr(T) F1 F2 F1 F2
- Tính chất của phép toán ĐSQH (4) 4. Tính phân phối và trên các phép toán *, , , -, X Nếu F = (FR ^ FS) và nếu Attr(FR) R và Attr(FS) S thì : F ( R S ) FR ( R) FS (S ) JC JC F ( R S ) FR ( R) FS (S ) F (R S) F (R) F (S) _________________________________________________________________ F (R - S) F (R) – F (S) _________________________________________________________________ ΠZ ( R(X) x S(Y) ) Π X Z (R) x Π Y Z(S) _________________________________________________________________ ΠZ (R S) ΠZ (R) ΠZ (S) _________________________________________________________________
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập về Cơ sở dữ liệu
32 p | 525 | 187
-
Những câu hỏi thường gặp về dịch vụ SEO
14 p | 232 | 76
-
15 công cụ tối ưu hóa Microsoft Office
16 p | 189 | 62
-
Bài 2: CẤU HÌNH VÀ TỐI ƯU HỆ THỐNG MS WINDOWS VISTA
13 p | 179 | 30
-
Thay đổi thứ tự ưu tiên cho card mạng để tối ưu hóa đường truyền
10 p | 223 | 30
-
Bài 8: Tối ưu hóa câu hỏi
14 p | 101 | 17
-
Bài giảng Tối ưu hóa câu hỏi - Vũ Tuyết Trinh
11 p | 179 | 14
-
Tổng hợp những câu hỏi hay trong SEO
67 p | 95 | 12
-
Bài giảng Cơ sở dữ liệu: Bài 8 - ĐH CNTT
14 p | 101 | 10
-
Nên bắt đầu với SEO hay PPC khi tiếp thị trực tuyến?
4 p | 92 | 10
-
Làm thế nào để bạn nhận được backlinks nhanh nhất
6 p | 74 | 9
-
Bài giảng Cơ sở dữ liệu: Chương 9 - TS. Nguyễn Quốc Tuấn
12 p | 67 | 7
-
Tối ưu hóa câu hỏi trắc nghiệm
14 p | 177 | 6
-
Bài giảng Cơ sở dữ liệu (Database): Chương 7 - TS. Đặng Thị Thu Hiền
28 p | 39 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 6 - Hoàng Thị Hà
18 p | 30 | 5
-
Bài giảng Cơ sở dữ liệu: Bài 8 - Trung tâm Athena
14 p | 36 | 2
-
Bài giảng Nhập môn cơ sở dữ liệu: Chương 6 - Vũ Tuyết Trinh
11 p | 66 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn