Nhiệm vụ củaNgười lập kèo bóng đá c1 hóaIS Để tạo ra một kế hoạch thực hiện kèo bóng đá c1. Đầu tiên nó kết hợp tất cả Những cách có thể củaquétvàtham giaCác mối quan hệ xuất hiện trong một truy vấn. Tất cả các đường dẫn được tạo dẫn đến cùng một kết quả và đó là nhiệm vụ của Trình kèo bóng đá c1 để ước tính chi phí thực hiện từng đường dẫn và Tìm ra cái nào là rẻ nhất.
Người lập kèo bóng đá c1 hóa quyết định kế hoạch nào được tạo dựa trên các loại chỉ mục được xác định trên Quan hệ xuất hiện trong một truy vấn. Luôn có khả năng thực hiện quét tuần tự trên một mối quan hệ, vì vậy một kế hoạch sử dụng Chỉ các lần quét tuần tự luôn được tạo ra. Giả sử một chỉ mục là được xác định trên một mối quan hệ (ví dụ: chỉ mục B-cây) và truy vấn chứa hạn chếMối quan hệ.Attribution Hằng số opr. Nếu nhưMối quan hệ.Attributionxảy ra để phù hợp với khóa của Chỉ mục B-Tree vàOPRlà bất cứ điều gì Nhưng '<' Một kèo bóng đá c1 khác được tạo bằng chỉ mục B-Tree để quét mối quan hệ. Nếu có thêm các chỉ số hiện tại và Các hạn chế trong truy vấn xảy ra để phù hợp với khóa của một chỉ mục kèo bóng đá c1 tiếp theo sẽ được xem xét.
Sau tất cả các kế hoạch khả thi đã được tìm thấy để quét đơn Quan hệ, kế hoạch tham gia quan hệ được tạo ra. Các Người lập kèo bóng đá c1 hóa chỉ xem xét kết hợp giữa hai Các mối quan hệ tồn tại một mệnh đề tham gia tương ứng (tức là một hạn chế nhưỞ đâu rel1.attr1 = rel2.ATTR2tồn tại) trong đó trình độ. Tất cả các kế hoạch có thể được tạo cho mỗi cặp tham gia được xem xét bởi người lập kèo bóng đá c1 hóa. Ba chiến lược tham gia có thể là:
Tham gia lặp lại: The mối quan hệ đúng được quét một lần cho mỗi tuple được tìm thấy trong quan hệ trái. Chiến lược này dễ thực hiện nhưng có thể rất tốn thời gian.
Hợp nhất sắp xếp tham gia: mỗi mối quan hệ được sắp xếp trên các thuộc tính tham gia trước khi tham gia bắt đầu. Sau đó, hai mối quan hệ được hợp nhất cùng nhau tham gia tài khoản mà cả hai quan hệ đều được đặt hàng trên tham gia thuộc tính. Loại tham gia này hấp dẫn hơn vì Mọi quan hệ chỉ phải được quét một lần.
băm tham gia: Mối quan hệ đúng đắn là băm đầu tiên trên các thuộc tính tham gia của nó. Bên cạnh bên trái quan hệ được quét và các giá trị thích hợp của mỗi Tuple tìm thấy được sử dụng làm khóa băm để xác định vị trí của các bộ dữ mối quan hệ đúng.
13746_13918
nút trên cùng của kèo bóng đá c1 làMergejoinnút có hai người kế thừa, một gắn vào trườngreftreevà thứ hai được gắn vào trườngRighttree. Mỗi mã con đại diện cho một mối quan hệ của sự tham gia. Như đã đề cập ở trên, tham gia sắp xếp hợp nhất yêu cầu mỗi mối quan hệ phải được sắp xếp. Đó là lý do tại sao chúng tôi tìm thấy mộtSắp xếpnút trong mỗi sơ đồ con. Các Trình độ chuyên môn bổ sung được đưa ra trong truy vấn (s.sno 2) được đẩy xuống càng xa càng tốt và được gắn vàoqpqualTrường của Láseqscannút của Subsplan tương ứng.
Danh sách được gắn vào trườngMergeclausescủaMergejoinNode chứa thông tin về Tham gia các thuộc tính. Các giá trị65000và65001choVarnoTrường trongvarCác nút xuất hiện trongMergeclausesDanh sách (và cả trong15145_15157) có nghĩa là rằng không phải là bộ dữ liệu của nút hiện tại nên được xem xét Nhưng các bộ dữ liệu của các nút "sâu hơn" tiếp theo (tức là các nút trên cùng của các sơ đồ con) nên được sử dụng thay thế.
Lkèo bóng đá c1 ý rằng mỗiSắp xếpvàSEQSCANNode xuất hiện trong Hình \ Ref Plan có có mộtTargetListnhưng vì đã có Không đủ không gian chỉ có một khoảng trống choMergejoinNode có thể được vẽ.
Một tác vụ khác được thực hiện bởi người lập kế hoạch/trình kèo bóng đá c1 đang sửa chữa TheID toán tửtrongexprvàopernút. BẰNG đã đề cập trước đó,PostgreSQLHỗ trợ nhiều loại dữ liệu khác nhau và thậm chí cả người dùng Các loại được xác định có thể được sử dụng. Để có thể duy trì sự khổng lồ Số lượng chức năng và nhà khai thác, cần phải lkèo bóng đá c1 trữ chúng trong một bảng hệ thống. Mỗi chức năng và toán tử nhận được một ID toán tử. Theo các loại thuộc tính được sử dụng Trong các trình độ, v.v., ID toán tử thích hợp phải được sử dụng.