TỐI ƯU HÓA CÂU HỎI TRUY VẤN
4.4.3. Một số nhận xé khi thực hiện tối ưu hoá câu hỏ
Tối ưu hoá câu hỏi dựa trên chi phí thấp là chủ yếu. Tuy nhiên nhiều khi thực hiện việc tối ưu cũng rất tốn kếm. Qua kinh nghiệm, người ta rút ra một số nhận xét sau:
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ộ thỏa một điều kiện nào đó, như vậy các bước tiếp theo chỉ thực hiện trên một quan hệ kích cỡ nhỏ hơn. Đây là một nhận xét kinh nghiệm, vì không phải lúc nào cũng cho chi phí giảm .
Ví dụ biểu thức:
Trong đó: F có liên quan đến các thuộc tính của s.
Phép chọn này có thể được thực hiện trước khi kết nối. Nếu r là vô cùng nhỏ so với s khi đó thực hiện phép chọn sớm sẽ hiệu quả cao. Phép chiếu cũng như phép chọn, làm giảm độ lớn của các quan hệ. Vì thế bất cứ lúc nào cũng cần tạo ra một quan hệ tạm thời, có lợi khi áp dụng ngay lập tức với bất cứ phép chiếu nào nếu có thể.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Thực hiện các phép chọn sớm hơn các phép chiếu thường tốt hơn, vì phép lựa chọn có khả năng làm giảm bớt độ lớn của các quan hệ và cho phép sử dụng các chí số để truy nhập cơ sở dữ liệu.
Sau đây là cách khái quát các bước trong một thuật toán tối ưu hoá kinh nghiệm tiêu biểu.
1. Tách các phép chọn liên kết thành một chuỗi phép chọn riêng lẻ. Bước này dựa trên qui tắc tương đương.
2. Chuyển các phép chọn xuống dưới cây đại số để thực hiện trước. Bước này sử dụng các tính chất giao hoán và tính chất phân phối của các phép chọn được thể hiện
trong các qui tắc tương đương. Chăng hạn, biến đổi thành
hoặc mỗi khi có thể. Thực hiện các phép chọn dựa trên giá trị càng sớm càng giảm được chi phí của sự sắp xếp và sự hoà lẫn các kết quả trung gian.
3. Xác định các phép chọn và các phép kết nối sẽ đưa ra các biểu thức quan hệ nhỏ nhất, nghĩa là sẽ đưa ra số bộ dữ liệu ít nhất. Sử dụng tính chất kết hợp của phép toán để xắp xếp lại cây cho các quan hệ node-lá vơi sự lựa chọn thu hẹp nàyđược thực hiện trước. Bước này dựa vào tính chất kết hợp của phép toán nhị phân đã cho của qui tắc tương đương. Lưu ý rằng, phép chọn bị hạn chế khi số các bản ghi không thỏa điềukiện, vì vậy cần phải cân nhắc tính chất của phép chọn hoặc điều kiện kết nối.
4. Có thể thay phép kết nối của kết quả theo tích Đề-các bằng một điều kiện chọn. Kết quả phép tich Đề-các thường tốn kém khi thực hiện vì khi nhân bao gồm một bản ghi cho mỗi kết nối của các bản ghi từ quan hệ A và quan hệ B. Phép chọn này có thể làm giảm đáng kể một số bản ghẻptong quá trình thực hiện kết nối. It tốn kém hơn nhiều so với phép tich Đề-các.
5. Phá vỡ và chuyển càng nhanh càng tốt danh sách các thuộc tính trong phép chiếu xuống phía dưới cây, tạo ra phép chiếu ở nơi cần. Bước này dựa trên các đặc tính của phép chiếu đã qui định trong các qui tắc tương đương.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
6. Nhận dạng các cây con mà các phép toán của nó thực hiện theo đường không rẽ nhánh và thực thi chúng.
Tóm lại các phép chọn sớm sẽ làm giảm bớt số bộ dữ liệu và phép chiếu sớm làm giảm số các thuộc tính.