Các thuật toán xử lý và tối ưu hoá truy vấn

62 5.5K 42
Các thuật toán xử lý và tối ưu hoá 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

Các thuậ t toán xử lý và tối ưu hoá truy vấn ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC Đề tài: CÁC THUẬT TOÁN XỬ LÝ VÀ TỐI ƯU HÓA TRUY VẤN Giáo viên hướng dẫn: Nhóm học viên thực hiện: TS. Hoàng Quang Trần Như Đăng Tuyên Nguyễn Vũ Cát Trường Nguyễn Thị Thanh Tâm Trần Thị Thành Lê Bá Minh Phong HUẾ 11/2011

Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC Đề tài: CÁC THUẬT TOÁN XỬ VÀ TỐI ƯU HÓA TRUY VẤN Giáo viên hướng dẫn: Nhóm học viên thực hiện: TS. Hoàng Quang Trần Như Đăng Tuyên Nguyễn Vũ Cát Trường Nguyễn Thị Thanh Tâm Trần Thị Thành Lê Bá Minh Phong HUẾ 11/2011 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 TS. Hoàng Quang Trần Như Đăng Tuyên 1 A.MỞ ĐẦU 1 B. NỘI DUNG 4 1. Chuyển các câu truy vấn SQL sang đại số quan hệ 4 2. Các thuật toán cho việc sắp xếp ngoài 5 3. Các giải thuật đối với phép chọn (select) phép nối (join) 7 4. Các giải thuật đối với phép chiếu (project) các phép toán trên tập hợp 22 5. Sự thực hiện của các phép toán kết hợp các phép nối ngoài 24 6. Sự kết hợp các phép toán bằng kỹ thuật đường ống 28 7. Tối ưu hóa câu truy vấn bằng heuristic 29 8. Sử dụng sự lựa chọn ước lượng chi phí trong tối ưu hóa câu truy vấn 41 9. Tổng quan về tối ưu hoá truy vấn trong Oracle 54 10. Tối ưu hoá truy vấn ngữ nghĩa 55 C. BÀI TẬP 56 D. KẾT LUẬN 59 E. TÀI LIỆU THAM KHẢO 60 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 A. MỞ ĐẦU Tiểu luận này sẽ trình bày các kỹ thuật dùng Hệ quản trị cơ sở dữ liệu (DBMS) để xử lý, tối ưu hóa thực hiện truy vấn mức cao. Một truy vấn biểu diễn trong ngôn ngữ truy vấn bậc cao như SQL đầu tiên phải được kiểm tra, phân tích cú pháp, làm cho hợp lệ. Việc kiểm tra là nhận dạng các dấu hiệu ngôn ngữ như là các từ khóa SQL, tên thuộc tính, tên quan hệ - trong phần chữ của câu truy vấn, ngược lại, việc phân tích cú pháp kiểm tra cú pháp câu truy vấn để xác định nó có được lập công thức theo các qui tắc cú pháp (các qui tắc ngữ pháp) của ngôn ngữ truy vấn không. Truy vấn cũng phải được phê chuẩn, bằng cách kiểm tra tất cả các tên thuộc tính quan hệ hợp lý, về ngữ nghĩa, ý nghĩa của tên trong lược đồ của cơ sở dữ liệu đang được truy vấn. Sau đó, mô tả câu truy vấn. Cũng như cấu trúc dữ liệu dạng cây, ở đây gọi là cây truy vấn. Nó cũng có thể biểu diễn câu truy vấn bằng cách sử dụng một cấu trúc dữ liệu đồ họa gọi là đồ thị truy vấn. Sau đó một DBMS phải đặt ra cách lấy kết quả các câu hỏi từ các tập tin cơ sở dữ liệu. Đặc trưng của một câu truy vấn là có nhiều cách để thực hiện, việc chọn lựa cách xử lý truy vấn thích hợp đối với việc xử truy vấn được xem là tối ưu hóa truy vấn. Hình 1 thể hiện các bước khác nhau của việc xửtruy vấn bậc cao. Tối ưu hóa truy vấn có nhiệm vụ đưa ra sơ đồ thực hiện, sinh ra mã để thực hiện sơ đồ đó. Quản trị cơ sở dữ liệu hiện tại có nhiệm vụ chạy mã truy vấn, mỗi khi trong chế độ biên dịch hoặc trình diễn, để đưa ra kết quả truy vấn. Khi kết quả chạy lỗi, thông báo lỗi sẽ được đưa ra bởi hệ quản trị cơ sở dữ liệu . Tối ưu hóa toán hạng thực ra là chưa chích xác bởi vì trong một số trường hợp việc thực hiện sơ đồ đã chọn không là chiến lược tối ưu, nó thật sự là chiến lược hiệu quả hợp lí đối với việc thực hiện truy vấn. Việc tìm ra chiến lược tối ưu thường mất nhiều thời gian đối với các câu truy vấn đơn giản nhất có thể đòi hỏi thông tin có bao nhiêu tập tin được thực hiện ngay cả các tập tin mà thông tin có thể không có sẵn đầy đủ trong danh mục DBMS. Vì vậy việc lập sơ đồ thực hiện chiến lược có thể mô tả chính xác hơn việc tối ưu hóa truy vấn. 1 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 Tiểu luận sẽ chỉ tập trung biểu diễn tối ưu hóa truy vấn trong ngữ cảnh của một RDBMS. Một hệ quản trị cơ sở dữ liệu quan hệ phải định giá các chiến lược thực hiện truy vấn khác một cách có hệ thống chọn chiến lược khá hiệu quả hoặc chiến lược tối ưu. Mỗi DBMS có số thuật toán truy cập cơ sở dữ liệu chung thực hiện các phép toán quan hệ như là SELECT hoặc JOIN hoặc kết hợp các phép toán này. Chỉ có việc thực hiện các chiến lược mà có thể thực hiện bằng các thuật toán truy cập cơ sở dữ liệu áp dụng cho truy vấn riêng thiết kế cơ sở dữ liệu vật riêng có thể mô tả bằng module tối ưu hóa truy vấn. Tổng quát nội dung tiểu luận như sau: Phần 1: Các truy vấn SQL được chuyển sang các truy vấn đại số quan hệ sau đó được tối ưu hóa như thế nào. Từ phần 2 đến 6 giới thiệu các thuật toán đối với 2 Truy vấn trong ngôn ngữ bậc cao Kiểm tra, phân tích cú pháp làm cho hợp lệ Dạng gần với truy vấn Tối ưu hóa truy vấn Thực hiện vẽ sơ đồ Tạo mã truy vấn Viết mã cho việc thực hiện truy vấn Xử cơ sở dữ liệu hiện thời Kết quả truy vấn Hình 1. Các bước đặc trưng khi xửtruy vấn mức cao Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 việc thi hành các phép toán quan hệ. Sau đó, giới thiệu tổng quan về các chiến lược tối ưu hóa truy vấn. Có hai kỹ thuật chính để thực hiện tối ưu hóa truy vấn. Kỹ thuật đầu tiên dựa vào các qui tắc Heuristic (quy tắc mang tính kinh nghiệm) nhằm sắp xếp các phép toán trong một chiến lược thực hiện truy vấn. Heuristic là một qui tắc áp dụng tốt trong hầu hết các trường hợp nhưng không đảm bảo áp dụng tốt trong mọi trường hợp. Các qui tắc này thường sắp xếp lại các phép toán trong một cây truy vấn. Kỹ thuật thứ hai gồm việc đánh giá một cách có hệ thống chi phí các chiến lược thực hiện khác nhau chọn kế hoạch thực hiện có ước lượng chi phí thấp nhất. Các kỹ thuật này thường được kết hợp trong một tối ưu hóa truy vấn. Phần 7: Trình bày sự tối ưu hóa bằng Heuristic. Phần 8: Trình bày sự tối ưu hóa bằng ước lượng chi phí Phần 9: Một mô tả tóm tắt các yếu tố được xem xét trong suốt quá trình tối ưu hóa truy vấn trong hệ quản trị CSDL quan hệ thương mại Oracle. Phần 10: Giới thiệu chủ đề về tối ưu hóa truy vấn ngữ nghĩa, trong đó biết các ràng buộc được sử dụng để tạo ra các chiến lược thực hiện truy vấn hiệu quả. 3 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 B. NỘI DUNG 1. Chuyển các câu truy vấn SQL sang đại số quan hệ Trong thực tiễn, SQL là ngôn ngữ truy vấn được sử dụng trong hầu hết hệ quản trị cơ sở dữ liệu. Đầu tiên một câu truy vấn được chuyển đổi sang một biểu thức đại số quan hệ mở rộng tương đương- biểu diễn dưới dạng cấu trúc cây truy vấn - sau đó tối ưu. Đặc biệt, các câu truy vấn SQL được phân tích thành các khối truy vấn, nó tạo thành các đơn vị cơ sở mà có thể chuyển đổi sang các phép toán quan hệ tối ưu hóa. Một khối truy vấn bao gồm một biểu thức đơn SELECT-FROM- WHERE, cũng như các mệnh đề GROUP BY HAVING nếu chúng là bộ phận của block. Vì vậy, các truy vấn lồng nhau được xác định như là các khối truy vấn riêng biệt. Bởi vì SQL bao gồm tập hợp các phép toán – như là MAX, MIN, SUM và COUNT – các phép toán này cũng được chứa trong đại số mở rộng. Xét câu truy vấn SQL trên lược đồ quan hệ EMPLOYEE sau đây: EMPLOYEE(Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno) SELECT Lname, Fname FROM EMPLOYEE WHERE Salary > ( SELECT MAX(Salary) FROM EMPLOYEE WHERE Dno = 5); Câu truy vấn này bao gồm một truy vấn con lồng vì vậy sẽ được phân tích thành hai khối. Khối bên trong là: ( SELECT MAX(Salary) FROM EMPLOYEE WHERE Dno = 5); Và khối ngoài là SELECT Lname, Fname FROM EMPLOYEE WHERE Salary > C 4 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 Trong đó C biểu diễn kết quả trả về từ khối trong. Khối trong có thể được chuyển sang biểu thức đại số quan hệ mở rộng ℑ MAX Salary (σ Dno=5 (EMPLOYEE)) Trong đó ℑ là phép kết hợp hàm (AGGREGATE FUNCTION: SUM, AVERAGE, MAXIMUM, MINIMUM, COUNT) Và block ngoài sang biểu thức Л Lname,Fname (σ Salary>c (EMPLOYEE)) Tối ưu hóa câu truy vấn chọn một cách thực hiện đối với mỗi khối. Chúng ta lưu ý rằng trong ví dụ trên, chỉ khối trong cần được định giá để đưa ra lương tối đa, sau đó nó được dùng như hằng số C cho khối ngoài. 2. Các thuật toán cho việc sắp xếp ngoài. Sắp xếp là một trong những thuật toán đầu tiên sử dụng trong xử truy vấn. Ví dụ như mỗi khi một câu truy vấn SQL có mệnh đề ORDER BY, kết quả truy vấn phải được sắp xếp. Việc sắp xếp cũng là một kỹ thuật bộ phận trong các giải thuật sắp trộn sử dụng cho phép JOIN các phép khác (như là UNION và INTERSECTION), trong các giải thuật loại trừ giống nhau đối với phép PROJECT (khi một câu truy vấn SQL có tùy chọn DISTINCT trong mệnh đề SELECT). Chúng ta sẽ thảo luận một trong các giải thuật này trong phần này. Lưu ý rằng, việc sắp xếp có thể không dùng nếu một chỉ mục thích hợp tồn tại cho phép truy cập thứ tự đến các bản ghi. Sắp xếp ngoài dựa vào các giải thuật sắp xếp thích hợp với các tập tin lớn của các bản ghi được lưu trữ trên đĩa mà không hoàn toàn đủ trong bộ nhớ chính, như là các tập tin cơ sở dữ liệu lớn. Giải thuật sắp xếp ngoài đặc trưng sử dụng một chiến lược sắp trộn bắt đầu bằng việc sắp xếp các file con – gọi là runs của file chính sau đó trộn các runs, tạo các file con đã sắp lớn hơn được trộn lần lượt. Giải thuật sắp trộn, giống như các giải thuật cơ sở dữ liệu khác, đòi hỏi bộ đệm trong bộ nhớ chính, thực tế việc sắp xếp trộn của các runs được thực hiện tại đó. Thuật toán cơ sở trình bày trong hình 2, bao gồm 2 giai đoạn: một giai đoạn sắp một giai đoạn trộn. 5 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 Hình 2. Tổng quan thuật toán sắp trộn đối với sắp xếp ngoài 6 Set i ←1; j ←b; {kích thước của file trong các khối} k ←n B ; {kích thước của vùng đệm trong các khối } m ←[(j/k)]; {Phần sắp xếp} While (i<=m) do { đọc k blocks tiếp theo của file vào bộ đệm hoặc nếu có ít hơn k các khối còn lại thì đọc vào các khối còn lại; sắp xếp các bản ghi trong bộ đệm ghi như là một file con tạm thời; i ←i + 1; } {Phần trộn: trộn các file con cho đến khi chỉ còn lại một file} Set i ←1; p ←[log k-1 m] {p là số lần đối với phần trộn} j ←m; While (i<=p) Do { n ←1; q ←[(j/(k-1)] {số file con để ghi trong lần này} While (n<=q) Do { Đọc k-1 file con tiếp theo hoặc các file con còn lại (từ lần trước) một khối tại một thời điểm; Trộn ghi như file con mới một khối tại một thời điểm. n← n+1; } j←q; i←i+1; } Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 Trong giai đoạn sắp, runs (phần chia, mảnh) của file có thể vừa với bộ đệm có sẵn được đọc vào bộ nhớ chính, sắp xếp bằng giải thuật sắp xếp bên trong ghi lại trên đĩa như các file con tạm thời (hoặc runs). Kích thước của một run số runs ban đầu (n R ) được cho bởi số khối file (b) vùng nhớ có sẵn (n B ). Ví dụ, nếu n B = 5 khối kích thước của file b=1024 khối thì n R = [(b/n B )] hoặc 205 runs ban đầu kích thước 5 khối (trừ ra run cuối cùng có 4 khối). Vì vậy, sau đoạn sắp xếp, 205 runs đã sắp được sắp như là các file con tạm thời trên đĩa. Trong đoạn trộn, các runs đã sắp được trộn với nhau bằng một hoặc nhiều lần thực hiện (pass). Bậc trộn d M là số các runs có thể được trộn trong mỗi lần thực hiện. Khi đó cần một khối đệm để chứa một khối từ mỗi runs đang được trộn, và một khối cần cho việc chứa một một khối của kết quả trộn. Vì vậy, d M là giá trị nhỏ hơn trong hai giá trị (n B -1) n R , số lần thực hiện trộn là   ))(log RdM n . Trong ví dụ trên, d M =4 do đó 205 runs đã sắp ban đầu sẽ được trộn thành 52 tại cuối cùng của những lần đầu tiên, rồi nó được trộn thành 13, rồi 4, rồi 1 run, điều đó có nghĩa là cần 4 lần. Tối thiểu d M cho trường hợp tốt nhất của thuật toán, đó là: (2*b) + (2*(b*log 2 b))) Trong đó: (2*b) biểu diễn số khối truy cập đối với đoạn sắp xếp, vì mỗi khối của tệp được truy xuất 2 lần: một cho việc đọc vào bộ nhớ một cho việc ghi các bản ghi này lên đĩa sau khi sắp xếp. (2*(b*log 2 b))) biểu diễn số truy xuất khối trong giai đoạn trộn, giả sử trường hợp xấu nhất d M =2 . Tổng quát, log được tính dựa trên d M biểu thức đối với số khối truy cập trở thành: (2*b)+(2*(b*(log dM n R ))) 3. Các giải thuật đối với phép chọn (select) phép nối (join). 3.1 Thực hiện phép chọn (Select) Có nhiều tùy chọn cho việc thực hiện phép toán SELECT. Một số tùy chọn phụ thuộc vào file có chỉ rõ đường dẫn truy cập có thể chỉ áp dụng cho các kiểu điều kiện lựa chọn. Chúng ta thảo luận một số thuật toán cho việc thực hiện chọn trong phần này. Chúng ta sẽ sử dụng các phép sau, trên lược đồ cơ sở dữ liệu quan hệ dưới đây để minh họa thảo cho phần này. 7 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 OP1: σ Ssn= ‘123456789’ (EMPLOYEE) OP2: σ Dnumber > 5 (DEPARTMENT) OP3: σ Dno = 5 (EMPLOYEE) OP4: σ Dno= 5 AND Salary>3000 AND Sex= ‘F’ (DEPARTMENT) OP5: σ Essn= ‘123456789’AND Pno =10 (WORKS_ON) Các phương thức tìm đối với lựa chọn đơn giản. Một số giải thuật tìm kiếm có khả năng chọn các bản ghi từ file. Các giải thuật này cũng được biết như là duyệt file, bởi vì chúng duyệt hết các bản ghi của file để tìm kiếm lấy các bản ghi thỏa mãn điều kiện chọn. Nếu giải thuật tìm kiếm có sử dụng chỉ mục thì tìm kiến theo chỉ mục được gọi là index scan (phép duyệt theo chỉ mục). Các phương thức tìm sau đây (từ S1 đến S6) là các ví dụ về một số thuật toán tìm kiếm mà có thể được sử dụng để thực hiện phép chọn: S1- Tìm kiếm tuyến tính (Linear search). Duyệt từng bản ghi trong file, và kiểm tra giá trị thuộc tính của nó có thỏa mãn điều kiện chọn hay không. S2- Tìm kiếm nhị phân (Binary search). Nếu điều kiện chọn gồm một so sánh bằng trên thuộc tính khóa trên file được sắp xếp, tìm kiếm nhị phân có thể hiệu quả 8 [...]... Sự tối ưu hoá này sử 11 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 dụng công thức ước lượng chi phí cho mỗi phương pháp truy cập bộ tối ưu hoá chọn phương pháp truy cập có chi phí ước lượng thấp nhất 3.2 Thực hiện phép nối (join) Phép toán JOIN là một trong những phép toán tiêu tốn thời gian nhất trong xử truy vấn Nhiều phép nối dùng trong các truy vấn là của các. .. Cây truy vấn ban đầu ứng với SQL (c) Đồ thị truy vấn của Q1 Sự biểu diễn bằng đồ thị truy vấn không cho biết một thứ tự thực hiện trên các phép, nó chỉ gồm một đồ thị đơn tương ứng với mỗi truy vấn Mặc dù một số kĩ thuật tối ưu hoá đã dựa vào các đồ thị truy vấn, nhưng hiện nay hầu hết mọi người đều chấp nhận rằng các cây truy vấn là thích hợp hơn bởi vì trong thực tế việc tối ưu hoá câu truy vấn cần... một file đầu vào một phép chiếu cuối cùng trên file kết quả; tất cả điều này được thực hiện bằng một thuật toán với hai file đầu vào một file đầu ra, còn hơn việc tạo ra bốn file tạm rồi chúng ta áp dụng thuật toán một cách trực 28 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 tiếp chỉ cho ra một file kết quả Trong phần 7.2 chúng ta sẽ thảo luận cách tối ưu hóa đại... của tối ưu hoá câu truy vấn bằng heuristic là chuyển đổi cây truy vấn ban đầu này thành cây truy vấn cuối cùng để thực hiện có hiệu quả hơn Việc tối ưu hoá phải bao gồm các qui tắc tương đương giữa các biểu thức đại số quan hệ mà có thể được áp dụng cho cây truy vấn ban đầu Việc tối ưu hoá câu truy vấn bằng các qui tắc heuristic chính là sử dụng các biểu thức tương đương này để chuyển cây truy vấn ban... này, quá trình tính toán là phức tạp hơn Xét truy vấn sau: SELECT Dno, AVG(Salary) 24 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 FROM EMPLOYEE GROUP BY Dno; Kỹ thuật thông thường đối với các truy vấn như thế này là, đầu tiên chúng ta sắp xếp hoặc là băm trên các thuộc tính để chia file thành các nhóm thích hợp Sau đó thuật toán tính hàm kết hợp đối với các bộ trong mỗi nhóm,... của các phép 7.2 Tối ưu hoá cây truy vấn bằng heuristic Thông thường, nhiều biểu thức đại số quan hệ có thể tương đương nhau nên các cây truy vấn khác nhau cũng có thể tương đương Đó là chúng có thể ứng với cùng một câu truy vấn Phân tích câu truy vấn sẽ tạo ra một cây truy vấn ban đầu chuẩn ứng với truy vấn SQL mà không sử dụng bất cứ sự tối ưu hoá nào Ví dụ đối với một truy vấn chọn-chiếu-nối như truy. .. của các truy vấn Một cây truy vấn được sử dụng để trình bày một biểu thức đại số quan hệ hoặc biểu thức đại số quan hệ mở rộng, ngược lại một đồ thị truy vấn được sử dụng để trình bày một biểu thức tính toán quan hệ Trong phần 7.2 chúng ta chỉ ra cách sử dụng các quy tắc tối ưu hóa heuristic để chuyển một cây truy vấn thành một cây truy vấn tương đương, cây này trình bày 29 Các thuật toán xử và tối. .. 6000 truy cập khối 17 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 Mặt khác, nếu chúng ta sử dụng các bản ghi DEPARTMENT trong vòng lặp ngoài thì tổng số truy cập khối là: bD + ( bD/(nB - 2) * bE) = 10 + ( 10/5 * 2000) = 4010 truy cập khối Thuật toán nối sử dụng một bộ đệm để lưu giữ các bản ghi đã nối kết của tệp kết quả Mỗi lần bộ đệm bị đầy thì nó được ghi vào đĩa và. .. then 14 Các thuật toán xử tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 { đưa S(j) vào T Set j j+ 1 } Elseif R(i) < S(j) then { đưa R(i) vào T; set ii+ 1 } Else set j j+1 (* R(i) = S(j), vì vậy chúng ta bỏ qua một trong các bộ trùng lặp*) } If (i ≤ n) then thêm các bộ từ R(i) đến R(n) vào T; If (j ≤ m) then thêm các bộ từ S(j) đến R(m) vào T; (d) Sắp xếp các bộ trong R S bằng cách sử... hiện tạo ra các kết quả trước khi nút (3) có thể bắt đầu thực hiện, … Chúng ta có thể thấy rằng, cây truy vấn trình bày một thứ tự cụ thể của các phép trong quá trình thực hiện câu truy vấn Một sự thể hiện khác của một truy vấn là đồ thị truy vấn Hình 4c biểu diễn đồ thị truy vấn của truy vấn Q1 Các quan hệ trong truy vấn được thể hiện bởi các nút quan hệ được biểu diễn bằng các vòng tròn đơn Các . Các thuật toán xử lý và tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC Đề tài: CÁC THUẬT TOÁN XỬ LÝ VÀ TỐI ƯU. việc tối ưu hóa truy vấn. 1 Các thuật toán xử lý và tối ưu hoá truy vấn - Nhóm 4 Lớp KHMT 2010-2012 Tiểu luận sẽ chỉ tập trung biểu diễn tối ưu hóa truy vấn

Ngày đăng: 20/03/2014, 11:08

Từ khóa liên quan

Mục lục

  • TS. Hoàng Quang Trần Như Đăng Tuyên

  • A. MỞ ĐẦU

  • B. NỘI DUNG

    • 1. Chuyển các câu truy vấn SQL sang đại số quan hệ

    • 2. Các thuật toán cho việc sắp xếp ngoài.

    • 3. Các giải thuật đối với phép chọn (select) và phép nối (join).

      • 3.1 Thực hiện phép chọn (Select)

      • 3.2 Thực hiện phép nối (join)

    • 4. Các giải thuật đối với phép chiếu (project) và các phép toán trên tập hợp.

    • 5. Sự thực hiện của các phép toán kết hợp và các phép nối ngoài.

      • 5.1. Sự thực hiện của các phép toán kết hợp

      • 5.2. Sự thực hiện của phép nối ngoài

        • 5.2.1. Các phép nối ngoài

        • 5.2.2. Sự thực hiện của phép nối ngoài

    • 6. Sự kết hợp các phép toán bằng kỹ thuật đường ống

    • 7. Tối ưu hóa câu truy vấn bằng heuristic

      • 7.1. Khái niệm cây truy vấn và đồ thị truy vấn

      • 7.2. Tối ưu hoá cây truy vấn bằng heuristic

      • 7.3. Sự chuyển đổi các cây truy vấn thành các cây thực hiện truy vấn

    • 8. Sử dụng sự lựa chọn và ước lượng chi phí trong tối ưu hóa câu truy vấn

      • 8.1 Các thành phần chi phí đối với sự thực hiện câu truy vấn

      • 8.2. Thông số sử dụng trong hàm chi phí

      • 8.3 Những ví dụ về các hàm chi phí đối với phép chọn (select)

      • 8.4 Ví dụ các hàm chi phí đối với nối (Join)

      • 8.5 Các truy vấn đa quan hệ và thứ tự nối (Join)

      • 8.6. Ví dụ minh họa việc tối ưu hoá câu truy vấn bằng chi phí cơ bản

    • 9. Tổng quan về tối ưu hoá truy vấn trong Oracle

    • 10. Tối ưu hoá truy vấn ngữ nghĩa

  • C. BÀI TẬP

  • D. KẾT LUẬN

  • E. TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan