Đặt vấn đề: Cho 1 câu truy vấn, các cây toán tử thực. thi nào sẽ được xem xét[r]
Trang 1Xử lý truy vấn và hiệu năng hệ CSDL
Vũ Tuyết Trinh
trinhvt-fit@mail.hut.edu.vn
Bộ môn Hệ thống thông tin, Viện CNTT&TT Đại học Bách Khoa Hà Nội
Xử lý câu hỏi truy vấn
Câu lệnh SQL
Phân tích
cú pháp
(parser)
Biểu thức ĐSQH
Bộ tối ưu
(optimizer)
Biểu thức ĐSQH tối ưu
( code generator)
Chương trình tối ưu
Trang 2Cây toán tử
WAGON (NW, TYPE, COND, STATION, CAPACITY, WEIGHT)
TRAIN (NT, NW)
WAGON (NW, TYPE )
TRAIN
(NT, NW)
NW
NT = 4002 TYPE
Các phép toán vật lý (thuật toán)
SELECT-FROM- WHERE-GROUPBY-ORDERBY
VIEW được coi là 1 block riêng rẽ
(right-deep, bushy, …)
Thuật toán
Nested Loop
Sort-Merge
Hash-Join
Trang 3Truy nhập bảng
khối
vào bản ghi dựa trên chỉ mục
S
Phép toán nhiều pha:
Nested-Loops Join
Đọc từng bản ghi của quan
hệ R (external relation) & lặp trên quan hệ S (internal relation)
one-and-haft pass, non-blocking
SOURCE
S
SOURCE
R Tuple R
Tuple R
Tuple S
Matching
Tuple-based NLJ, block-based NLJ, index-based NLJ
Trang 4Sort Merge Join
Sắp xếp dữ liệu đầu vào
trộn dữ liệu
two-pass, blocking algorithm
SOURCE
S
SOURCE
R
Merge
Hash Join (HJ)
Tạo bảng băm trên R
Đọc S và đối sánh với dữ liệu trên bảng băm
two-pass, blocking algorithm
SOURCE
S
SOURCE
R
Hash Table R
…
Matching
hash(Tuple S) hash(Tuple R)
build
probe
Trang 5Mô hình giá
đọc/ghi bộ nhớ ngoài (số trang nhớ)
Kích thước dữ liệu phải xử lý
xử lý
CTA = s * NBPAGES + t * NBNUPLETS (+ m * NBMESSAGES)
Trọng số
s = trọng số đọc/ghi dữ liệu (ví dụ = 1)
t = trọng số xử lý của CPU (ví dụ = 1/3)
m = trọng số truyền dữ liệu
Thông tin về các quan hệ
Kích thước của các quan hệ và bản ghi
Thông tin về các thuộc tính
Thông tin về các chỉ số
Relation Cardinality Record size
WAGON 200000 60 TRAIN 60000 30 TRAFFIC 80000 20
Attribute Cardinality Size min - max
Relation Attributes Unique Type Num of pages
Relation Cardinality Record size
(num of rec./page)
Num of pages (NP’)
WAGON 200000 60(100) 1500(375) TRAIN 60000 30 (200) 225(60) TRAFFIC 80000 20 (300) 200(60)
Trang 6Tối ưu
Không gian tìm kiếm
Chiến lược tìm kiếm
Ước lượng giá cho các kế hoạch thực thi
Bộ tối ưu
Rewriter
Planner Method-Structure
Space
Algebraic Space
Size-Distribution Estimator Cost Model
Trang 7Query: R1 R2 R3 R4 R5
R4 R1 R5
Optimal Plan:
R4 R1 R5
Optimal Plan:
Optimal plan for joining R3, R2, R4
Query: R1 R2 R3 R4 R5
Optimal plan for
joining R3, R2, R4,
R1