Bài giảng Nhập môn cơ sở dữ liệu - Bài 6: Tối ưu hoá câu hỏi - Vũ Tuyết Trinh

Ti ưu hoá câu hi  
Vũ Tuyết Trinh  
Bmôn Các hthng thông tin, Khoa Công nghthông tin  
Đại hc Bách Khoa Hà Ni  
Xlý câu hi truy vn  
Câu lnh  
SQL  
Phân tích  
cú pháp  
(parser)  
Biu thc  
ĐSQH  
Biu thc  
ĐSQH  
ti ưu  
Bti ưu  
(optimizer)  
Bsinh mã  
(code generator)  
Chương trình  
ti ưu  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Ti ưu hoá  
{ Biến đổi biu thc ĐSQH để tìm 1 biu thc  
hiu quả  
{ Ti ưu da trên cu trúc và ni dung ca dữ  
liu  
{ Nâng cao hiu quthc hin câu hi trên 1 hay  
nhiu tiêu chí: thi gian, sdng bnh, ...  
{
L
ư
u ý:  
z Không nht thiết phi tìm biu thc ti ưu nht  
z Chú ý ti tài nguyên sdng cho ti ưu  
Kthut ti ưu hoá  
{ 2 kthut chính  
TYPE  
z
T
i
ư
u logic (rewriting)  
z Ti ưu vt lý (access methods)  
{ Mc đích ca các kthut ti ưu  
z Gim sbn ghi  
z Gim kích thước bn ghi  
NW  
{ Ví dụ  
WAGON  
(NW, TYPE...)  
WAGON (NW, TYPE, COND, STATION,  
CAPACITY, WEIGHT)  
TRAIN (NT, NW)  
NT  
=
4002  
TRAIN  
(NT, NW)  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Ni dung  
9 Gii thiu chung  
{ Ti ưu logic  
{ Ti ưu vt lý  
{ Mô hình giá  
Ti ưu hoá logic  
{ Sdng các phép biến đổi tương đương để tìm  
ra biu thc ĐSQH tt  
{ Gm 2 giai đon  
z Biến đổi da trên ngnghĩa  
z
Bi
ế
n
đổ
i d
a trên tính ch
t c
a các phép toán
Đ
SQH  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Ti ưu da trên ngnghĩa  
{ Mc đích:  
z Da trên các ràng buc dliu để xác định các biu  
thc tương đương  
z Viết li câu hi trên khung nhìn da trên các định  
nghĩa ca khung nhìn  
{ Ví dụ  
EMPLOYEE (FirstName, LastName, SSN, Birthday,  
Adrresse, NoDept)  
DEPARTEMENT (DNO, DName, SSNManager)  
PROJECT (PNO, PName, PLocation, DNo)  
WORK-IN (ESSN, PNO, Heures)  
EMPLOYEE (Name, SSN, Birthday, Adrresse, NoDept)  
DEPARTEMENT (DNO, DName, SSNManager)  
PROJECT (PNO, PName, PLocation, DNo)  
WORK-IN (ESSN, NoProj, Heures)  
Tên ca các nhân viên sinh sau ngày 30/01/70 và làm vic cho dán  
"Esprit"  
=
S
Name  
=
=
P
NoProj = PNO  
ESSN=SSN  
PName = “Esprit”  
>
B
Birthday > “30/01/70  
Đồ thkết ni các quan hệ  
Đồ thkết ni các thuc tính  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Ti ưu da trên ngnghĩa (2)  
{ Loi bcác đồ thcon không liên kết trong đồ  
thkết ni các quan hệ  
{ Kim tra mâu thun trong đồ thkết ni các  
thuc tính  
{
Bi
ến đổ
i câu h
i t
ương đương  
Tính cht ca phép toán ĐSQH  
A ~ tp các thuc tính, C ~ biu thc điu kin  
1. Phép chiếu và phép chn  
Π (R) => Π (Π (R) nếu A A1  
A
A A1  
σ
(R) => σ (σ (R)) nếu C = C1^C2  
C
C1 C2  
2. Tính giao hoán đối vi phép chn và chiếu  
nếu các thuc tính ca C2 thuc A1  
σ
(σ (R))  
σ
(σ (R))  
C2 C1  
=>  
Π
(σ (R))  
σ
(Π (R))  
=>  
C1 C2  
(Π (R))  
A1 C2  
C2 A1  
σ
Π
(σ (R))  
=>  
Π
(Π (R))  
Π
(R)  
C1 A2  
A2 C1  
=>  
A1 A2  
A1  
nếu A1 A2  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Tính cht ca phép toán ĐSQH (2)  
3. Tính giao hoán và kết hp ca các phép toán  
∗, ∩, ∪, −, x  
R X S => S X R  
R * S => S * R  
R S => S R  
R
S => S 
R  
(R X S) X T => R X (S X T)  
(R S) T => R (S T)  
(R S) T => R (S T)  
(R * S) * T => R * (S * T)  
C1 C2 C1 C2  
chnếu  
Attr(C2) Attr(S) U Attr(T)  
Tính cht ca phép toán ĐSQH (3)  
4. Tính phân phi σ và Π trên các phép toán *, ∩,  
, -, X  
Nếu C = (CR ^ CS) và nếu Attr(CR) R và Attr(CS) S thì :  
σ
(R * S) => σ (R) *  
σ
(S)  
JC  
JC  
C
CR  
CS  
(S)  
σ
(R X S) => σ  
(R) X  
CR  
σ
C
CS  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Biến đổi biu thc ĐSQH  
T1  
_________________________________________________________________  
T2 (R[Y]) [Z] R[Z] n u Z Y  
_________________________________________________________________  
R: F1 F2 ... Fn  
((...(R:F1) : F2 ):...):Fn  
T3  
(R[Y]) :F (X)  
(R :F(X)) [Y] n u X Y  
(R: F(X)) [Y]  
(R[X Y]) : F(X) ) [Y] n u X Y  
_________________________________________________________________  
T4 (R(X) x S(Y)) : F(Z) (R(X):F) x S(Y) n u Z X  
(R(X) x S(Y)) : F(Z1)F(Z2) (R(X):F(Z1)) x (S(Y): F(Z2))  
n u Z1 X và Z2 Y  
_________________________________________________________________  
T5  
_________________________________________________________________  
T6 (R - S): F (R:F) - S  
_________________________________________________________________  
T7 (R(X) x S(Y))[Z] R[X Z] x S[Y Z]  
_________________________________________________________________  
T8 (R S) [Z] (R[Z]) (S[Z])  
(R S): F  
(R:F) (S:F)  
_________________________________________________________________  
Trình táp dng  
{ Khai trin phép la chn da trên nhiu điu  
ki
n: T1  
{ Hoán vphép chn vi tích đề-các, hp, tr: T3,  
T4, T5, T6  
{ Hoán vphép chiếu vi tích đề-các, hp : T2,  
T7, T8  
{ Nhóm các điu kin chn bi T1 và áp dng T2  
để loi các phép chiếu dư tha  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Bài tp  
La chn cách truy nhp dliu  
{ Githiết  
TYPE  
z TRAIN : có chstrên  
NT  
z WAGON : có chsố  
trên NW  
{ Thc hin phép kết  
NW  
ni  
z La chn 1 gii thut.  
WAGON  
(NW, TYPE...)  
z La chn cách truy  
NT  
=
4002  
nhp các quan hệ  
TRAIN  
(NT, NW)  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Relation S  
Nested-loop-join (NLJ)  
{ Nguyên tc  
z Duyt 1 ln trên quan hệ  
ngoài R & lp trên quan hệ  
trong S  
Matching  
Tuple R  
{ Các mrng ca thut toán  
z Tuple-based NLJ, block-  
based NLJ, index-based NLJ  
Tuple R  
Tuple S  
SOURCE  
R
SOURCE  
S
Thc hin như thế nào?  
TYPE  
NW  
=
WAGON  
(NW, TYPE...)  
NT  
4002  
TRAIN  
(NT, NW)  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Thông tin vcác quan hệ  
{ Kích thước ca các quan hvà bn ghi  
Relation  
WAGON  
TRAIN  
Cardinality  
200000  
Record size  
60  
30  
20  
60000  
TRAFFIC  
80000  
{
Thông tin v
các thu
c tính  
Attribute  
NW  
Cardinality  
200000  
200  
Size  
20  
5
min -max  
TYPE  
COND  
CAPACITY  
NT  
5
400  
2000  
800  
15  
15  
10  
6
5-45  
DATE  
{Thông tin vcác chsố  
Relation  
WAGON  
WAGON  
WAGON  
WAGON  
TRAIN  
TRAFFIC  
TRAFFIC  
Relation  
Attributes  
NW  
TYPE  
COND  
CAPACITY  
NT  
NT  
DATE  
Cardinality  
Unique  
Yes  
No  
No  
No  
No  
No  
no  
Type  
Num of pages  
Principal  
Secondary  
Secondary  
Secondary  
Principal  
Principal  
Principal  
45  
25  
30  
25  
18  
20  
40  
Record size  
(num of rec./page)  
Num. of pages  
(NP’)  
WAGON  
TRAIN  
TRAFFIC  
200000  
60000  
80000  
60(100)  
30 (200)  
20 (300)  
1500(375)  
225(60)  
200(60)  
Mô hình giá  
{
Chí phí thc hin câu hi phthuc:  
z đọc/ghi bnhngoài (strang nh
)  
zKích thước dliu phi xlý  
{Chi phí truy nhp dliu  
zĐọc ghi dliu  
zxlý  
z
Truy
n thông gia các trm làm vic  
CTA = σ * NBPAGES + τ ∗ NBNUPLETS (+ µ ∗ NBMESSAGES)  
{Trng số  
{σ = trng số đọc/ghi dliu (ví d= 1)  
{τ = trng sxlý ca CPU (ví d= 1/3)  
{µ = trng struyn dliu  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
Ti ưu hoá da trên mô hình giá  
{ Mc đích: Chn phương án thc hin câu hi  
vi chi phí thp nht  
{ Nhn xét:  
z Chi phí cho lit kê các phương án trli câu hi  
z Chi phí cho lượng hoá các phương án theo mô hình  
giá  
¾ Có thsdng các « mo » (heuristics) để gim  
không gian tìm kiếm ca câu hi  
Kết lun  
{ Ti ưu hoá nhm tìm phương án tt nht để  
th
c hi
n m
t câu h
i  
z Cn lưu ý: chí phí thc hin ti ưu hoá và chi phí thc  
hin câu hi  
{ Các kthut ti ưu  
z Logic : kim tra điu kin ràng buc ca các thuc  
tính/quan hđiu kin la chn trong câu hi, biến  
đổi tương đương các biu thc ĐSQH  
z Vt lý : tchc vt lý ca dliu trên đĩa, mô hình giá  
¾ Không nht thiết phi áp dng tt ccác kthut trên  
khi thc hin ti ưu hoá 1 câu hi  
ũ Tuyết Trinh, b/m Các hthng thông tin,  
pdf 11 trang baolam 26/04/2022 6800
Bạn đang xem tài liệu "Bài giảng Nhập môn cơ sở dữ liệu - Bài 6: Tối ưu hoá câu hỏi - Vũ Tuyết Trinh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_co_so_du_lieu_bai_6_toi_uu_hoa_cau_hoi_vu.pdf