1. Trang chủ
  2. » Công Nghệ Thông Tin

Hướng dẫn tối ưu hóa câu hỏi trong cơ sở dữ liệu

14 3K 15
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tối ưu hóa câu hỏi
Trường học Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ thông tin
Thể loại Bài giảng
Định dạng
Số trang 14
Dung lượng 153,5 KB

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

Nội dung

Hướng dẫn tối ưu hóa câu hỏi trong cơ sở dữ liệu

Trang 1

Bài 8: Tối ưu hóa câu hỏi

Trang 2

Nội dung

1 Giới thiệu

2 Các nguyên tắc tổng quát để tối ưu hóa câu hỏi

2.1 Biểu thức tương đương

2.1.1 Định nghĩa

2.1.2 Tính chất của phép kết và phép tích

2.2 Nguyên tắc tổng quát

2.3 Các phép biến đổi tương đương

3 Một số kỹ thuật tối ưu hóa câu hỏi bằng ĐSQH

3.1 Kỹ thuật (dãy phép chọn, phép chiếu, hoán vị …)

3.2 Thuật giải tối ưu hoá câu hỏi trong

Trang 3

1 Giới thiệu (1)

 Mục đích:

 Giảm thời gian xử lý câu hỏi, giảm khối lượng

dữ liệu trung gian

 Kết hợp giữa các phép tích, phép kết với phép chọn với phép chiếu

 Ví dụ:

] )[

) :

((

] )[

: ) ((

2 0

1

0 2

1

C Q

a A

Q

C a

A Q

Q





Trang 4

1 Giới thiệu (2)

 Ký hiệu:

X R

Q

D R

Q

AB

Q

Q=R[S]

Q=R:D

Q=R S

B

A



Trang 5

1 Giới thiệu (3)

 Ví dụ

Q1 Q2

A A=a0

C

A

Q1

C

Q2 A=a0

] )[

: ) ((Q1 Q2 Aa0 C ((Q1 : Aa0 )  Q2 )[C]

Trang 6

2.1 Tính tương đương (1)

2.1.1 Định nghĩa: hai biểu thức A, B là tương đương nếu

có cùng một tình trạng CSDL thì đều cho một kết quả.

2.1.2 Tính chất của phép kết và phép tích

Phép kết

 Giao hoán

 Kết hợp

Phép tích

 Giao hoán:

 Kết hợp:

1 2

2

Q dk  dk

3

2 2

1 1 3

2 2

1

1 2

2

3 2

1 3

2

1 (Q Q ) (Q Q ) Q

Trang 7

2.1 Tính tương đương (2)

2.1.3 Các phép biến đổi tương đương

] ))[ ,

( ]

[ ]

[ ((

] [ )

, ( )

, (

.

5

) , ,

( ])

[

] [

] [

( )

, , (

.

4

)) (

) ((

.

3

) :

( )

, ( )

, (

.

2

]) [

] [ :

( )

, ( )

, (

.

1

1 2

1 1

2 1

1 2

1 1

2 1

2 1

2 1

2 1

2 1

2 1

2 1

B B

A Q A

Q B

Q B

Q B

A Q

B A Q

X X

Q X

Q X

Q X

Q X

X Q

Q Q

Q Q

D B Q

Q D

C Q

B A Q

B Q B

Q Q

Q C

B Q

B A Q

n n

n

D B B





Trang 8

2.2 Nguyên tắc tổng quát

1 Thực hiện phép chiếu, phép chọn càng sớm càng tốt

2 Gom các phép chọn và chiếu cùng quan hệ để thực

hiện cùng lúc

3 Biến phép tích thành phép kết tự nhiên hay theta kết

4 Tìm các biểu thức con chung trong một biểu thức

5 Tiền xử lý các quan hệ: lập chỉ mục

6 Đánh giá trước khi thực hiên tính toán

Trang 9

3.1 Các kỹ thuật tối ưu (1)

1 Dãy các phép chọn

2 Dãy các phép chiếu

3 Hoán vị giữa phép chiếu và phép chọn

4 Hoán vị giữa phép chọn và phép tích

5 Hoán vị giữa phép hợp và phép chọn

6 Hoán vị giữa phép chọn và phép trừ

7 Hoán vị giữa phép chiếu và phép hội

8 Hoán vị giữa phép chiếu và phép tích

Trang 10

3.1 Các kỹ thuật tối ưu (2)

1 Dãy các phép chọn

2 Dãy phép chiếu

Ví dụ:

dkn dk

dk Q

dkn dk

dk

Y Z

Z Q Z

Y

Q [ ])[ ]  [ ] ,  (

] [

] ])[

, , [ (

) ,

, ,

(

AD Q

AD D

C A Q

D C

B A Q Cho

Trang 11

3.1 Các kỹ thuật tối ưu (3)

3 Hoán vị giữa phép chiếu và phép chọn

 Nếu

 Nếu X  Y

Y

X 

) (

: ]) [

( ]

))[

( :

( Q dk X YQ XY dk X

) (

: ]) [

( ]

))[

( :

( Q dk X YQ Y dk X

Trang 12

3.1 Các kỹ thuật tối ưu (4)

4 Hoán vị giữa phép chọn và phép tích:

 Điều kiện dk xác lập trên các thuộc tính của X

 Nếu , dk1 xác lập trên các thuộc

tính của X, dk2 xác lập trên các thuộc tính của Y

 Nếu dk1 xác lập trên các thuộc tính của X và dk2 xác lập trên các thuộc tính của XY

dk Y

Q X

Q Y

Q X

dk X

Q ( )) : ( ) ( ) ( ( ) ( )) :

2

1 dk

dk

dk  

) 2 :

) ( ( ) 1 :

) ( ((

) ( 2 )

( 1 :

)) ( )

(

((Q1 XQ2 Y dk Xdk YQ1 X dkQ2 Y dk

)) (

2 :

)) ( (

) 1 :

) ( ((

) (

2 )

( 1 :

)) ( )

(

(( 1 2

Y X

dk Y

Q dk

X Q

Y X

dk X

dk Y

Q X

Q

Trang 13

3.1 Các kỹ thuật tối ưu (5)

5 Hoán vị giữa phép hội và phép chọn

6 Hoán vị giữa phép chọn và phép trừ

7 Hoán vị giữa phép chiếu và phép hội

8 Hoán vị giữa phép chiếu và phép tích

) :

( )

: (

: ) (Q1 Q2 dkQ1 dkQ2 dk

) :

( ) :

( :

) (Q1  Q2 dkQ1 dkQ2 dk

]) [

( ])

[ ( ]

)[

(Q1 Q2 ZQ1 ZQ2 Z

Y X

Z Z

Y Q Z

Y Q Z

Y Q X

Q ( ) ( ))[ ] ( [ ]) ( [ ]) ,

(

Trang 14

3.2 Thuật toán

Bước 1: Áp dụng các phép biển đổi tương đương

Bước 2: Áp dụng (1)

Bước 3: Đối với các phép chọn áp dụng (3), (4), (5), (6) nhằm đưa phép chọn càng sâu càng tốt

Bước 4: Đối với các phép chiếu áp dụng (2), (3), (7), (8) nhằm đưa phép chiếu càng sâu càng tốt

Bước 5:

 Tập trung các phép chọn để áp dụng (1)

 Kết hợp phép tích và phép chọn để chuyển thành phép kết

Ngày đăng: 01/09/2012, 08:46

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm