THUẬT TOÁN HEURISTIC

Một phần của tài liệu Tối ưu truy vấn cơ sở dữ liệu quan hệ và cơ sở dữ liệu phân tán bằng phương pháp Heuristic (Trang 64)

Để mô tả thuật toán, sử dụng các cây truy vấn để biểu diễn các biểu thức đại số quan hệ. Cây truy vấn là một cây với mỗi nút lá là các quan hệ đƣợc lƣu trong CSDL, các đỉnh trong là các phép toán đại số quan hệ. Chuỗi các phép toán đi theo hƣớng từ lá đến gốc biểu thị cho kết quả truy vấn.

Biến đổi câu truy vấn phép tính quan hệ thành cây truy vấn có thể thu đƣợc bằng cách sau. Giả sử câu truy vấn cần tối ƣu đƣợc biểu diễn bằng câu lệnh SQL. Trƣớc tiên tạo ra các nút lá tƣơng ứng với mỗi quan hệ trong mệnh đề FROM của câu lệnh SQL. Thứ hai, tạo ra nút gốc nhƣ là một phép chiếu chứa các thuộc tính kết quả. Các thuộc tính này nằm trong mệnh đề SELECT của của câu truy vấn. Thứ ba, chuyển mệnh đề WHERE của câu truy vấn thành chuỗi các phép toán quan hệ thích hợp đi từ các nút lá đến gốc. Chuỗi này có thể đƣợc cho trực tiếp qua thứ tự xuất hiện của các vị từ và các toán tử.

Sau khi xây dựng cây truy vấn, thực hiện tối ƣu hoá theo các bƣớc biến đổi nhƣ sau:

1. Sử dụng quy tắc 1 biến đổi phép chọn thành một dãy các phép chọn.

2. Sử dụng các quy tắc 2, 4, 6, 10 về tính giao hoán của phép chọn, chuyển các phép chọn về các nhánh.

3. Sử dụng quy tắc 5 và 9 về tính giao hoán của các phép toán 2 ngôi để sắp xếp lại các nút lá của cây.

4. Sử dụng quy tắc về kết hợp phép chọn và tích Descartes, chuyển tích Descartes thành phép nối.

5. Sử dụng các quy tắc 4, 7, 11, 3 về kết hợp các phép chiếu và các phép giao hoán giữa phép chiếu và phép toán khác để đƣa phép chiếu về các lá hoặc thêm vào các phép chiếu mới để làm giảm kích thƣớc của các quan hệ.

6. Đối với CSDL phân tán, sau khi xây dựng đƣợc cây truy vấn tối ƣu, thực hiện đơn giản hoá biểu thức. Căn cứ vào các điều kiện phân đoạn để

chuyển các lá là các phép hợp, phép nối của các quan hệ hạn chế do phân đoạn quan hệ cơ sở, phân tích các điều kiện chọn, danh sách chiếu để loại bỏ các cây con trong đó có sự mâu thuẫn.

Nhận xét:

Thuật toán Heuristic thực hiện các phép chọn càng sớm càng tốt. Thƣờng các phép chọn chỉ quan tâm đến các bộ thoả mãn một điều kiện nào đó, nhƣ vậy có khả năng giảm bớt độ lớn của các quan hệ kết quả và cho phép sử dụng các chỉ số để truy nhập CSDL. Phép chiếu cũng nhƣ phép chọn, làm giảm kích cỡ của các quan hệ. Vì thế bất cứ lúc nào cần tạo ra một quan hệ tạm thời, có lợi thì áp dụng ngay phép chiếu nếu có thể.

Một phần của tài liệu Tối ưu truy vấn cơ sở dữ liệu quan hệ và cơ sở dữ liệu phân tán bằng phương pháp Heuristic (Trang 64)

Tải bản đầy đủ (PDF)

(81 trang)