1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

22 748 4

Đ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

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 84,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Oracle Database 10 g release 2, giá trị mặc định của tham số này là một giá trị tương ứng với I / O kích thước tối đa có thể được thực hiện một cách hiệu quả.. Giá trị này phụ thuộc

Trang 1

QUERY OPTIMIZER

Trang 2

CÁC K THU T LIÊN QUAN Ỹ THUẬT LIÊN QUAN ẬT LIÊN QUAN

khởi tạo có thể được sử dụng để kiểm soát việc tối ưu hóa truy vấn

dụng để cho phép tối ưu hóa các tính năng khác nhau để cải thiện hiệu suất của SQL thực hiện.

Trang 3

CÁC K THU T LIÊN QUAN Ỹ THUẬT LIÊN QUAN ẬT LIÊN QUAN

Trang 4

1 CURSOR_SHARING

 Tham số này chuyển đổi các giá trị chữ trong câu lệnh

SQL để ràng buộc các biến

 Chuyển đổi các giá trị được cải thiện và có thể chia sẻ

con trỏ (cursor sharing) ảnh hưởng đến kế hoạch thực hiện các câu lệnh SQL

 Tối ưu hóa này tạo ra kế hoạch thực hiện dựa trên sự

hiện diện của các biến ràng buộc và không phải là giá trị thực tế theo nghịa đen

 CURSOS_SHARING xác định những loại câu lệnh SQL có

thể chia sẻ cùng 1 con trỏ

Trang 5

Sửa đổi ALTER SESSION, ALTER SYSTEM

CURSOR_SHARING xác định những loại câu lệnh SQL có thể chia sẻ cùng một con trỏ.

 FORCE : Có thể khác nhau 1 số chữ, trừ khi các chữ số ảnh hưởng đến ý nghĩa

 SIMILAR : Có thể khác nhau 1 số chữ, trừ khi các chữ số ảnh hưởng đến ý nghĩa hoặc bằng các kế hoạch được tối ưu hóa.

 EXACT : Chỉ cho phép báo cáo với văn bản giống hệt nhau để chia

sẻ cùngmột con trỏ.

Trang 6

2 DB_FILE_MULTIBLOCK_READ_COUNT

 Là một trong các thông số mà bạn có thể sử dụng để giảm

thiểu I / O trong quá trình quét bảng Quy định cụ thể số lượng tối đa của các khối đọc trong một hoạt động I / O

trong một quét tuần tự Tổng số I / O cần thiết để thực hiện một bảng đầy đủ quét phụ thuộc vào các yếu tố như kích thước của bảng, multiblock đọc đếm, và cho dù thực hiện song song đang được sử dụng cho hoạt động

 Oracle Database 10 g release 2, giá trị mặc định của tham số

này là một giá trị tương ứng với I / O kích thước tối đa có thể được thực hiện một cách hiệu quả Giá trị này phụ

thuộc vào nền tảng và là 1MB cho platforms.Because hầu hết các tham số được thể hiện trong các khối, nó sẽ được thiết lập để một giá trị tương đương với tối đa kích thước I /

O có thể được thực hiện có hiệu quả, chia kích thước khối tiêu chuẩn Lưu ý rằng nếu số lượng của phiên họp là vô

cùng lớn multiblock đọc giá trị số là giảm để tránh bộ nhớ cache đệm bị tràn ngập với bộ đệm quét quá nhiều bảng.

Trang 7

2 DB_FILE_MULTIBLOCK_READ_COUNT

 Mặc dù giá trị mặc định có thể là một giá trị lớn, tôi ưu

hoa sẽ không ủng hộ kế hoạch lớn nếu bạn không đặt tham số này Nó sẽ làm như vậy nếu bạn rõ ràng thiết lập tham số này đến một giá trị lớn

 Xử lý giao dịch trực tuyến (OLTP) và môi trường hàng loạt

thường có giá trị trong phạm vi của 4 đến 16 tham số này DSS và môi trường kho dữ liệu có xu hướng hưởng lợi nhiều nhất từ tối đa hóa giá trị của tham số này Tối ưu hóa có nhiều khả năng để lựa chọn một bảng đầy đủ quét trên một chỉ số nếu giá trị của tham số này cao

 Giá trị lớn nhất là kích thước của hệ điều hành I / O tối đa

thể hiện như các 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ố này một giá trị lớn hơn mức tối đa, Oracle sử dụng tối đa

Trang 8

2 DB_FILE_MULTIBLOCK_READ_COUNT

Thuộc Tính Miêu tả

Kiểu tham số Integer

Phạm vi của các giá trị Phụ thuộc vào hệ điều hành

Giá trị mặc định Giá trị mặc định tương ứng với I / O

kích thước tối đa có thể được thực hiện có hiệu quả và phụ thuộc vào nền tảng

Sửa đổi ALTER SESSION, ALTER SYSTEM

Trang 9

3 OPTIMIZER_INDEX_CACHING

 OPTIMIZER_INDEX_CACHING cho phép bạn điều chi phí

dựa trên tối ưu hóa để tham gia các vòng lặp lồng nhau

và IN-listvòng lặp

 Chi phí thực hiện một chỉ số bằng cách sử dụng một

vòng lặp IN-list hoặc thực hiện một vòng lặp lồng nhau tham gia khi một chỉ số được sử dụng để truy cập vào bảng bên trong phụ thuộc vào bộ nhớ đệm của chỉ số trong bộ nhớ cache đệm

 Số lượng bộ nhớ đệm phụ thuộc vào các yếu tố mà tôi

ưu hoa không thể dự đoán, chẳng hạn như tải trên hệ thống và mô hình khóa truy cập của người dùng khác nhau

Trang 10

3 OPTIMIZER_INDEX_CACHING

 Bạn có thể sửa đổi các giả định của tối ưu hóa về bộ nhớ

đệm chỉ số cho các vòng lặp lồng nhau tham gia và vòng lặp trong danh sách bằng cách thiết lập tham số này đến một giá trị từ 0 đến 100 để chỉ ra tỷ lệ phần trăm của các khối chỉ

mục tối ưu nên giả định là trong bộ nhớ cache.

 Thiết lập tham số này đến một giá trị cao hơn làm cho vòng

lặp lồng nhau tham gia và IN-danh sách vòng lặp xem ít tốn kém để tôi ưu hoa.

 Kết quả là, nó sẽ có nhiều khả năng để chọn vòng lặp lồng

nhau tham gia trên băm hoặc sắp xếp, hợp nhất tham gia và chọn các chỉ số sử dụng IN-danh sách vòng lặp trên các chỉ

số khác hoặc quét toàn bộ bảng Mặc định cho tham số này

là 0, kết quả trong hành vi tối ưu hóa mặc định.

Trang 11

3 OPTIMIZER_INDEX_CACHING

Thuộc Tính Miêu tả

Kiểu tham số Integer Phạm vi của các giá trị 0 - 100 Giá trị mặc định 0

Sửa đổi ALTER SESSION, ALTER SYSTEM

Trang 12

4 OPTIMIZER_INDEX_COST_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

Trang 13

4 OPTIMIZER_INDEX_COST_ADJ

Thuộc Tính Miêu tả

Kiểu tham số Integer Phạm vi của các giá trị 0 - 10000 Giá trị mặc định 100

Sửa đổi ALTER SESSION, ALTER SYSTEM

Trang 14

5 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).

Trang 15

Giá trị mặc định ALL_ROWS

Sửa đổi ALTER SESSION, ALTER SYSTEM

Trang 16

6 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, join, bitmap merge, and bitmap create) will be

hash-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

Trang 17

6 PGA_AGGREGATE_TARGET

 Setting PGA_AGGREGATE_TARGET to 0 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

Trang 18

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

Trang 19

Giá trị mặc định 10 MB or 20% of the size of the

SGA, whichever is greater Sửa đổi ALTER SYSTEM

Phạm vi của các giá trị Minimum: 10 MBMaximum: 4096

GB - 1

Trang 20

7 STAR_TRANSFORMATION_ENABLED

 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.

Trang 21

Giá trị mặc định False Sửa đổi ALTER SESSION, ALTER SYSTEM

Trang 22

CÁC K THU T LIÊN QUAN Ỹ THUẬT LIÊN QUAN ẬT LIÊN QUAN

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w