query optimization(tối ưu hóa câu truy vấn trong csdl)

22 746 4
query optimization(tối ưu hóa câu truy vấn trong csdl)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Query Optimizer Các K ỹ Thu ậ t Liên Quan  Phần liệt kê số tham số khởi tạo sử dụng để kiểm sốt việc tối ưu hóa truy vấn  Các thơng số sử dụng phép tối ưu hóa tính khác để cải thiện hiệu suất SQL thực Các K ỹ Thu ậ t Liên Quan CURSOR_SHARING DB_FILE_MULTIBLOCK_READ_COUNT OPTIMIZER_INDEX_CACHING OPTIMIZER_INDEX_COST_ADJ OPTIMIZER_MODE PGA_AGGREGATE_TARGET STAR_TRANSFORMATION_ENABLED CURSOR_SHARING  Tham số chuyển đổi giá trị chữ câu lệnh SQL để ràng buộc biến  Chuyển đổi giá trị cải thiện chia sẻ trỏ (cursor sharing) ảnh hưởng đến kế hoạch thực câu lệnh SQL  Tối ưu hóa tạo kế hoạch thực dựa diện biến ràng buộc giá trị thực tế theo nghịa đen  CURSOS_SHARING xác định loại câu lệnh SQL chia sẻ trỏ 1 CURSOR_SHARING Thuộc Tính Kiểu tham số Cú pháp Giá trị mặc định Sửa đổi Miêu tả String CURSOR_SHARING = { SIMILAR | EXACT | FORCE } EXACT ALTER SESSION, ALTER SYSTEM CURSOR_SHARING xác định loại câu lệnh SQL chia sẻ trỏ  FORCE : Có thể khác số chữ, trừ chữ số ảnh hưởng đến ý nghĩa  SIMILAR : Có thể khác số chữ, trừ chữ số ảnh hưởng đến ý nghĩa kế hoạch tối ưu hóa  EXACT : Chỉ cho phép báo cáo với văn giống hệt để chia sẻ cùngmột trỏ 2 DB_FILE_MULTIBLOCK_READ_COUNT  Là thơng số mà bạn sử dụng để giảm thiểu I / O trình quét bảng Quy định cụ thể số lượng tối đa khối đọc hoạt động I / O quét Tổng số I / O cần thiết để thực bảng đầy đủ quét phụ thuộc vào yếu tố kích thước bảng, multiblock đọc đếm, cho dù thực song song sử dụng cho hoạt động  Oracle Database 10 g release 2, giá trị mặc định tham số giá trị tương ứng với I / O kích thước tối đa thực cách hiệu Giá trị phụ thuộc vào tảng 1MB cho platforms.Because hầu hết tham số thể khối, thiết lập để giá trị tương đương với tối đa kích thước I / O thực có hiệu quả, chia kích thước khối tiêu chuẩn Lưu ý số lượng phiên họp vô lớn multiblock đọc giá trị số giảm để tránh nhớ cache đệm bị tràn ngập với đệm quét nhiều bảng 2 DB_FILE_MULTIBLOCK_READ_COUNT  Mặc dù giá trị mặc định giá trị lớn, ưu hoa không ủng hộ kế hoạch lớn bạn không đặt tham số Nó làm bạn rõ ràng thiết lập tham số đến giá trị lớn  Xử lý giao dịch trực tuyến (OLTP) mơi trường hàng loạt thường có giá trị phạm vi đến 16 tham số DSS mơi trường kho liệu có xu hướng hưởng lợi nhiều từ tối đa hóa giá trị tham số Tối ưu hóa có nhiều khả để lựa chọn bảng đầy đủ quét số giá trị tham số cao  Giá trị lớn kích thước hệ điều hành I / O tối đa thể khối Oracle ((I / O tối đa kích thước) / DB_BLOCK_SIZE ) Nếu bạn thiết lập tham số giá trị lớn mức tối đa, Oracle sử dụng tối đa 2 DB_FILE_MULTIBLOCK_READ_COUNT Thuộc Tính Miêu tả Kiểu tham số Integer Phạm vi giá trị Giá trị mặc định Phụ thuộc vào hệ điều hành Giá trị mặc định tương ứng với I / O kích thước tối đa thực có hiệu phụ thuộc vào tảng Sửa đổi ALTER SESSION, ALTER SYSTEM OPTIMIZER_INDEX_CACHING  OPTIMIZER_INDEX_CACHING cho phép bạn điều chi phí dựa tối ưu hóa để tham gia vòng lặp lồng IN-listvòng lặp  Chi phí thực số cách sử dụng vòng lặp IN-list thực vòng lặp lồng tham gia số sử dụng để truy cập vào bảng bên phụ thuộc vào nhớ đệm số nhớ cache đệm  Số lượng nhớ đệm phụ thuộc vào yếu tố mà ưu hoa dự đoán, chẳng hạn tải hệ thống mơ hình khóa truy cập người dùng khác 3 OPTIMIZER_INDEX_CACHING  Bạn sửa đổi giả định tối ưu hóa nhớ đệm số cho vòng lặp lồng tham gia vòng lặp danh sách cách thiết lập tham số đến giá trị từ đến 100 để tỷ lệ phần trăm khối mục tối ưu nên giả định nhớ cache  Thiết lập tham số đến giá trị cao làm cho vòng lặp lồng tham gia IN-danh sách vịng lặp xem tốn để ưu hoa  Kết là, có nhiều khả để chọn vịng lặp lồng tham gia băm xếp, hợp tham gia chọn số sử dụng IN-danh sách vòng lặp số khác quét toàn bảng Mặc định cho tham số 0, kết hành vi tối ưu hóa mặc định 3 OPTIMIZER_INDEX_CACHING Thuộc Tính Miêu tả Kiểu tham số Integer Phạm vi giá trị - 100 Giá trị mặc định Sửa đổi ALTER SESSION, ALTER SYSTEM O PT IMIZER _IN DEX_C OST _ADJ  OPTIMIZER_INDEX_COST_ADJ lets you tune optimizer behavior for access path selection to be more or less index friendly—that is, to make the optimizer more or less prone to selecting an index access path over a full table scan  The default for this parameter is 100 percent, at which the optimizer evaluates index access paths at the regular cost Any other value makes the optimizer evaluate the access path at that percentage of the regular cost For example, a setting of 50 makes the index access path look half as expensive as normal  Note:The adjustment does not apply to user-defined cost functions for domain indexes 4 O PT IMIZER _IN DEX_C OST _ADJ Thuộc Tính Miêu tả Kiểu tham số Integer Phạm vi giá trị Giá trị mặc định Sửa đổi - 10000 100 ALTER SESSION, ALTER SYSTEM OPTIMIZER_MODE  OPTIMIZER_MODE establishes the default behavior for choosing an optimization approach for the instance  Values:  first_rows_n : The optimizer uses a cost-based approach and optimizes with a goal of best response time to return the first n rows (where n = 1, 10, 100, 1000)  first_rows : The optimizer uses a mix of costs and heuristics to find a best plan for fast delivery of the first few rows  all_rows : The optimizer uses a cost-based approach for all SQL statements in the session and optimizes with a goal of best throughput (minimum resource use to complete the entire statement) 5 Thuộc Tính Kiểu tham số Cú Pháp OPTIMIZER_MODE Miêu tả String OPTIMIZER_MODE ={ first_rows_[1 | 10 | 100 | 1000] | first_rows | all_rows } Giá trị mặc định Sửa đổi ALL_ROWS ALTER SESSION, ALTER SYSTEM PGA_AGGREGATE_TARGET  PGA_AGGREGATE_TARGET specifies the target aggregate PGA memory available to all server processes attached to the instance  Setting PGA_AGGREGATE_TARGET to a nonzero value has the effect of automatically setting the WORKAREA_SIZE_POLICY parameter to AUTO This means that SQL working areas used by memory-intensive SQL operators (such as sort, group-by, hash-join, bitmap merge, and bitmap create) will be automatically sized A nonzero value for this parameter is the default since, unless you specify otherwise, Oracle sets it to 20% of the SGA or 10 MB, whichever is greater 6 PGA_AGGREGATE_TARGET  Setting PGA_AGGREGATE_TARGET to automatically sets the WORKAREA_SIZE_POLICY parameter to MANUAL This means that SQL workareas are sized using the *_AREA_SIZEparameters  Oracle attempts to keep the amount of private memory below the target specified by this parameter by adapting the size of the work areas to private memory When increasing the value of this parameter, you indirectly increase the memory allotted to work areas Consequently, more memory-intensive operations are able to run fully in memory and less will work their way over to disk 6 PGA_AGGREGATE_TARGET  When setting this parameter, you should examine the total memory on your system that is available to the Oracle instance and subtract the SGA You can assign the remaining memory to PGA_AGGREGATE_TARGET 6 PGA_AGGREGATE_TARGET Thuộc Tính Kiểu tham số Cú Pháp Giá trị mặc định Sửa đổi Phạm vi giá trị Cơ Miêu tả Big integer PGA_AGGREGATE_TARGET = integer [K | M | G] 10 MB or 20% of the size of the SGA, whichever is greater ALTER SYSTEM Minimum: 10 MBMaximum: 4096 GB - Yes S T A R_ T R A NS F O RM A T I O N_ E N A BL E D  STAR_TRANSFORMATION_ENABLED determines whether a cost-based query transformation will be applied to star queries  Values:  TRUE : The optimizer will consider performing a cost-based query transformation on the star query  FALSE : The transformation will not be applied  TEMP_DISABLE : The optimizer will consider performing a cost-based query transformation on the star query but will not use temporary tables in the star transformation 7 Thuộc Tính Kiểu tham số Cú Pháp S T A R_ T R A NS F O RM A T I O N_ E N A BL E D Miêu tả String STAR_TRANSFORMATION_ENABLED ={TEMP_DISABLE | TRUE | FALSE} Giá trị mặc định Sửa đổi False ALTER SESSION, ALTER SYSTEM Các K ỹ Thu ậ t Liên Quan ... Quan  Phần liệt kê số tham số khởi tạo sử dụng để kiểm soát việc tối ưu hóa truy vấn  Các thơng số sử dụng phép tối ưu hóa tính khác để cải thiện hiệu suất SQL thực Các K ỹ Thu ậ t Liên Quan... nhớ đệm phụ thuộc vào yếu tố mà ưu hoa dự đốn, chẳng hạn tải hệ thống mơ hình khóa truy cập người dùng khác 3 OPTIMIZER_INDEX_CACHING  Bạn sửa đổi giả định tối ưu hóa nhớ đệm số cho vòng lặp lồng... số chuyển đổi giá trị chữ câu lệnh SQL để ràng buộc biến  Chuyển đổi giá trị cải thiện chia sẻ trỏ (cursor sharing) ảnh hưởng đến kế hoạch thực câu lệnh SQL  Tối ưu hóa tạo kế hoạch thực dựa

Ngày đăng: 20/06/2014, 23:19

Từ khóa liên quan

Mục lục

  • Slide 1

  • Các Kỹ Thuật Liên Quan

  • Các Kỹ Thuật Liên Quan

  • 1 CURSOR_SHARING

  • 1 CURSOR_SHARING

  • 2 DB_FILE_MULTIBLOCK_READ_COUNT

  • 2 DB_FILE_MULTIBLOCK_READ_COUNT

  • 2 DB_FILE_MULTIBLOCK_READ_COUNT

  • 3 OPTIMIZER_INDEX_CACHING

  • 3 OPTIMIZER_INDEX_CACHING

  • 3 OPTIMIZER_INDEX_CACHING

  • 4 OPTIMIZER_INDEX_COST_ADJ

  • 4 OPTIMIZER_INDEX_COST_ADJ

  • 5 OPTIMIZER_MODE

  • 5 OPTIMIZER_MODE

  • 6 PGA_AGGREGATE_TARGET

  • 6 PGA_AGGREGATE_TARGET

  • 6 PGA_AGGREGATE_TARGET

  • 6 PGA_AGGREGATE_TARGET

  • 7 STAR_TRANSFORMATION_ENABLED

Tài liệu cùng người dùng

Tài liệu liên quan