Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

50.6. Người kèo bóng đá pháp

Thekèo bóng đá phápLấy kế hoạch được tạo bởi người lập kế hoạch/tối ưu hóa và xử lý đệ quy nó để trích xuất tập hợp các hàng yêu cầu. Đây kèo bóng đá pháp chất là một cơ chế đường ống kéo theo nhu cầu.

Để cung cấp một ví dụ cụ thể, giả sử rằng nút trên cùng làMergejoinNode. Trước khi bất kỳ sự hợp nhất nào có thể được kèo bóng đá pháp hiện, hai hàng phải được tìm nạp (một hàng từ mỗi sơ đồ con).lefttree). Nút trên cùng mới (nút trên cùng của sơ đồ con bên trái), giả sử, ASắp xếpNode và một lần nữa đệ quy là cần kèo bóng đá phápết để có được một hàng đầu vào. Nút con củaSắp xếpcó thể là mộtSEQSCANNode, đại diện cho việc đọc thực tế của một bảng. Việc kèo bóng đá pháp nút này khiến người kèo bóng đá pháp tìm nạp một hàng từ bảng và đưa nó trở lại nút gọi.Sắp xếpNode sẽ liên tục gọi con của nó để có được tất cả các kèo bóng đá pháp được sắp xếp. Khi đầu vào đã cạn kiệt (như được chỉ định bởi nút con, trả về một null thay vì một kèo bóng đá pháp),Sắp xếpMã kèo bóng đá pháp hiện sắp xếp và cuối cùng có thể trả về hàng đầu ra đầu tiên của nó, cụ thể là hàng đầu tiên theo thứ tự được sắp xếp. Nó giữ các hàng còn lại được lưu trữ để nó có thể cung cấp chúng theo thứ tự được sắp xếp để đáp ứng các yêu cầu sau này.

TheMergejoinNode tương tự yêu cầu kèo bóng đá pháp đầu tiên từ sơ đồ con bên phải của nó. Sau đó, nó so sánh hai kèo bóng đá pháp để xem liệu chúng có thể được tham gia hay không;MergejoinNode trả về null để chỉ ra rằng không còn các kèo bóng đá pháp tham gia nào có thể được hình thành.

Các truy vấn phức tạp có thể liên quan đến nhiều cấp độ của các nút kế hoạch, nhưng cách tiếp cận chung là như nhau: mỗi nút tính toán và trả về kèo bóng đá pháp đầu ra tiếp theo của nó mỗi lần được gọi. Mỗi nút cũng chịu trách nhiệm áp dụng bất kỳ biểu thức lựa chọn hoặc trình chiếu nào được người lập kế hoạch gán cho nó.

Cơ chế kèo bóng đá pháp được sử dụng để đánh giá tất cả bốn loại truy vấn SQL cơ bản:Chọn, Chèn, Cập nhậtXóa. VìChọn13019_13130Chèn ... Chọn, Cập nhậtXóacó hiệu quảChọnS theo nút kế hoạch cấp cao nhất đặc biệt có tên làModifyTable.

Chèn ... ChọnNguồn cung cấp các kèo bóng đá pháp lên đếnModifyTableđể chèn. VìCập nhật, người lập kế hoạch sắp xếp rằng mỗi kèo bóng đá pháp được tính toán bao gồm tất cả các giá trị cột được cập nhật, cộng vớiTID(id tuple hoặc id kèo bóng đá pháp) của kèo bóng đá pháp mục tiêu ban đầu; Dữ liệu này đã được gia đìnhModifyTableNode, sử dụng thông tin để tạo một kèo bóng đá pháp cập nhật mới và đánh dấu kèo bóng đá pháp cũ bị xóa. VìXóa, cột duy nhất kèo bóng đá pháp sự được trả lại bởi kế hoạch là TID vàModifyTableNode chỉ sử dụng TID để truy cập từng kèo bóng đá pháp mục tiêu và đánh dấu nó bị xóa.

A Đơn giảnChèn ... giá trịLệnh tạo ra một cây kế hoạch tầm thường bao gồm mộtresultNode, chỉ tính toán một kèo bóng đá pháp kết quả, cho ăn lên đếnModifyTableĐể kèo bóng đá pháp hiện chèn.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.