1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ
8.5.4 Một số nhận xét khi thực hiện tối ưu hóa câu hỏi
Tối ưu hóa 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 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ãn 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 F(r s), trong đó s liên quan đến các thuộc tính của s. Phép chọn này có thể 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ẽ có 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 kì lúc nào 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 kì phép chiếu nào nếu có thể.
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 cập 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 hóa 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 quy 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ực hiện trong cáquy tắc tương đương. Chẳng hạn: biến đổi (r s) thành ( r ) s hoặc r (s) mỗi khi có thể.thực hiện các phép chọn dựa trên các giá trị càng sớm càng giảm được chi phí của sự sắp xếp và sự hòa 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 để sắp xếp lại cây cho các quan hệ node- lá với sự lựa chon 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 quy 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ều kiệ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 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 tích đề 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 ghi trong quá trình thực hiện kết nối. Ít tốn kém hơn nhiều so với tích đề 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ái 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 đã quyđịnh trong quy tắc tương đương.
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 thichúng.
Tóm lại các phép chọn sớm sẽ làm giảm bớt số bộ dữ liệuvà các phép chiếu sớm làm giảm số các thuộc tính.