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
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

43.6. Người kèo bóng đá cúp c2

Thekèo bóng đá cúp c2Đưa ra kế hoạch được trao trở lại bởi người lập kế hoạch/trình tối ưu hóa và xử lý đệ quy nó thành Trích xuất tập hợp các kèo bóng đá cúp c2 yêu cầu. Đây thực chất là một Cơ chế đường ống có nhu cầu. Mỗi khi một nút kế hoạch được gọi, nó phải cung cấp thêm một kèo bóng đá cúp c2, hoặc báo cáo rằng nó đã được thực hiện cung cấp kèo bóng đá cúp c2.

Để cung cấp một ví dụ cụ thể, giả sử rằng nút trên cùng làMergejoinnút. Trước khi bất kỳ sự hợp nhất nào có thể Thực hiện hai kèo bóng đá cúp c2 phải được tìm nạp (một từ mỗi sơ đồ con). Vì vậy, người thực thi tự gọi mình là xử lý các mẫu con (nó bắt đầu với kế hoạch con được gắn vàorefttree). Nút trên cùng mới (nút trên cùng của SUB -SUB -SUBS) is, giả sử, mộtSắp xếpnút và một lần nữa đệ quy là cần thiết để có được một kèo bóng đá cúp c2 đầu vào. Đứa trẻ nút củaSắp xếpcó thể là mộtseqscanNode, đại diện cho việc đọc thực tế của A bàn. Thực thi nút này khiến người thực thi tìm nạp một kèo bóng đá cúp c2 từ bảng và trả nó lên nút gọi. TheSắ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 đá cúp c2 sẽ được sắp xếp. Khi đầu vào cạn kiệt (như được chỉ ra bởi nút trẻ trả lại một null thay vì một kèo bóng đá cúp c2),Sắp xếpMã thực hiện sắp xếp, và cuối cùng có thể trả về kèo bóng đá cúp c2 đầu ra đầu tiên của nó, cụ thể là cái đầu tiên theo thứ tự sắp xếp. Nó giữ các kèo bóng đá cúp c2 còn lại được lưu trữ rằng nó có thể cung cấp chúng theo thứ tự được sắp xếp để đáp ứng sau nhu cầu.

TheMergejoin11973_12421MergejoinNode trả về null để cho biết rằng không còn các kèo bóng đá cúp c2 tham gia nào có thể được hình thành.

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à giống nhau: mỗi nút tính toán và trả về kèo bóng đá cúp c2 đầu ra tiếp theo mỗi khi nó được gọi. Mỗi nút cũng là chịu trách nhiệm áp dụng bất kỳ lựa chọn hoặc biểu thức trình bày được gán cho nó bởi người lập kế hoạch.

Cơ chế kèo bóng đá cúp c2 được sử dụng để đánh giá tất cả bốn SQL cơ bản Các loại truy vấn:Chọn, Chèn, Cập nhậtXóa. VìChọn, Mã thực thi cấp cao nhất chỉ cần Gửi mỗi kèo bóng đá cúp c2 được trả về bởi cây kế hoạch truy vấn cho máy khách. VìChèn, mỗi kèo bóng đá cúp c2 được trả lại là được chèn vào bảng đích được chỉ định choChèn. (Một đơ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ột đơnresultnút, chỉ tính toán Một kèo bóng đá cúp c2 kết quả. NhưngChèn ... ChọnCó thể yêu cầu toàn bộ sức mạnh của cơ chế kèo bóng đá cúp c2.) ChoCập nhật, người lập kế hoạch sắp xếp mỗi kèo bóng đá cúp c2 đượ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 đá cúp c2) của kèo bóng đá cúp c2 mục tiêu ban đầu; Cấp cao nhất của người thực thi sử dụng thông tin này Để tạo một kèo bóng đá cúp c2 cập nhật mới và đánh dấu kèo bóng đá cúp c2 cũ đã bị xóa. VìXóa14014_14182