8.4.2 Thuật toán System R*
Thuật toán System R* dành cho CSDLPT là đại diện cho các thuật toán sử dụng hướng tiếp cận tĩnh (static approach), trong CSDLPT thuật toán này còn có tên gọi khác là R*-QOA. Thuật toán này sử dụng cách tìm kiếm toàn bộ (exhautive search) trên tất cả các chiến lược thực thi của một câu truy vấn ở mức cao để tìm ra các chiến lược thực thi có chi phí tốt nhất. Chiến lược tìm kiếm toàn bộ có chi phí thời gian rất lớn, tuy nhiên chi phí này có thể được dàn đều nếu một câu truy vấn được lặp lại với tần suất đủ lớn. Trong trường hợp này, một chiến lược tối ưu sau khi được xác định sẽ
được lưu trữ và với nhưng lần truy vấn tương tự tiếp theo chiến lược tối ưu sẽ được thực hiện mà không cần tìm kiếm lại.
Thuật toán R*-QOA được đặc tả bằng giả ngôn ngữ như sau. Thuật toán: R* - QOA
Input: QT: Câu truy vấn
Output: strat: Chiến lược chi phí tối thiểu
BEGIN
For mỗi quan hệ Ri QT do Begin
For mỗi đường truy nhập APij to Ri do
Xác đinh cost(APij)
Endfor
Best_APi APij với chi phí tối thiểu;
Endfor
For mỗi thứ tự (Ri1,Ri2,...,Rin) với i = 1,2,...,n! do Begin
Xây dựng chiến lược (...(best APi1 Ri2)Ri3) ... Rin);
Tính toán chi phí chiến lược;
Endfor
strat chiến lược với chi phí tối thiểu;
Chia sẻ với bạn bè của bạn: |