Chọn luật để tối u hoá

Một phần của tài liệu Phân tích và tối ưu hóa câu lệnh SQL (Trang 49 - 50)

C. Các bớc tối u hoá

4.Chọn luật để tối u hoá

❑ Cách thức và mục tiêu tối u hoá của Oracle chịu ảnh hởng của những tham số sau:

• Tham số khi cài đặt: OPTIMIZER_MODE. • Trạng thái của từ điển dữ liệu.

• Tham số OPTIMIZER_GOAL của lệnh ALTER SESSION, tham số này sẽ xác lập đè lên sự xác lập của tham số khi cài đặt OPTIMIZER_MODE.

• Các câu lệnh khác.

❑ Tham số OPTIMIZER_MODE và OPTIMIZER_GOAL có thể có các giá trị sau đây: Đây là tham số ngầm định cho cách thức tối u hoá của một thể hiện. Tham số này có thể có các giá trị sau:

• CHOOSE: đây là giá trị ngầm định cho tham số này để xác định việc chọn cách thức tối u rule-based hay cost-based. Nếu nh trong từ điển dữ liệu có chứa thông tin trạng thái ít nhất là một bảng thì ph- ơng thức cost-based sẽ đợc lựa chọn và có thể nhận đợc cách thức thi hành câu lệnh tốt nhất. Nếu nh trong từ điển dữ liệu không có một thông tin gì về trạng thái các bảng thì cách thức tối u rule-based sẽ đợc chọn.

• RULE: giá trị sẽ làm cho Oracle tiến hành tối u tất cả các câu lệnh SQL dựa vào phơng thức rule-based bất chấp có thông tin trạng thái về các bảng trong từ điển dữ liệu.

• ALL_ROWS: phơng thức tối u cost-based sẽ đợc thực hiện cho tất cả các câu

lệnh SQL bất kể thông tin trạng thái trong từ điển dữ liệu sao cho nguồn tài nguyên sử dụng là tối thiểu để hoàn thành câu lệnh.

• FIRST_ROW: Phơng thức tối u cost-based đợc sử dụng cho tất cả các câu lệnh SQL sao cho thời gian đáp ứng là nhỏ nhất (nguồn tài nguyên sử dụng để trả lại hàng đầu tiên trong kết quả là tối thiểu). Chú ý rằng PL/SQL sẽ bỏ qua tham số OPTIMIZED_MODE và FIRST_ROW khi cài đặt.

❑ Nếu nh sử dụng phơng thức tối u ớc lợng giá mà không có thông tin trạng thái về một vài bảng thì Oracle sẽ sử dụng thông tin nội bộ nh là số khối dữ liệu truy nhập các bảng.

Một phần của tài liệu Phân tích và tối ưu hóa câu lệnh SQL (Trang 49 - 50)