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 soi kèo bóng đá truoctran trang chohiện tạiPhiên bản hoặc soi kèo bóng đá truoctran trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

46.6. Người soi kèo bóng đá truoctran

Thesoi kèo bóng đá truoctranthực hiện kế hoạch được tạo bởi trình lập kế hoạch/trình tối ưu hóa và xử lý nó soi kèo bóng đá truoctran cách đệ quy để trích xuất tập hợp các hàng yêu cầu. Đây thực chất là soi kèo bóng đá truoctran đường ống kéo theo nhu cầu cơ chế. Mỗi khi soi kèo bóng đá truoctran nút kế hoạch được gọi, nó phải cung cấp soi kèo bóng đá truoctran nhiều hàng hơn hoặc báo cáo rằng nó đã được thực hiện các hàng.

Để cung cấp soi kèo bóng đá truoctran 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 hàng phải được tìm nạp (soi kèo bóng đá truoctran 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àolefttree). Nút trên cùng mới (nút trên cùng của SUB -SUB -SUBS) is, giả sử, soi kèo bóng đá truoctranSắp xếpnút và soi kèo bóng đá truoctran lần nữa đệ quy là cần thiết để có được soi kèo bóng đá truoctran hàng đầu vào. Đứa trẻ nút củaSắp xếpcó thể là soi kèo bóng đá truoctranseqscanNode, đạ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 soi kèo bóng đá truoctran hàng 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ó để lấy Tất cả các hàng sẽ được sắp xếp. Khi đầu vào cạn kiệt (như được chỉ định bởi nút con trả về soi kèo bóng đá truoctran null thay vì soi kèo bóng đá truoctran hàng),Sắp xếp11526_11751

TheMergejoinNode yêu cầu tương tự Hàng đầu tiên từ kế hoạch con bên phải của nó. Sau đó, nó so sánh hai hàng để xem liệu họ có thể được tham gia hay không; Nếu vậy, nó trả lại soi kèo bóng đá truoctran hàng tham gia vào Người gọi. Trong cuộc gọi tiếp theo hoặc ngay lập tức nếu nó không thể tham gia cặp đầu vào hiện tại, nó chuyển sang hàng tiếp theo của soi kèo bóng đá truoctran bảng hoặc cái khác (tùy thuộc vào cách so sánh xuất hiện), và soi kèo bóng đá truoctran lần nữa Kiểm tra soi kèo bóng đá truoctran trận đấu. Cuối cùng, soi kèo bóng đá truoctran kế hoạch con hoặc cái kia là kiệt sức vàMergejoinnút trả về NULL để chỉ ra rằng không còn các soi kèo bóng đá truoctran 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ề soi kèo bóng đá truoctran đầ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ế soi kèo bóng đá truoctran đượ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ọn12884_12999Chèn, mỗi soi kèo bóng đá truoctran được trả về được chèn vào bảng đích được chỉ định choChèn. Điều này được thực hiện trong soi kèo bóng đá truoctran kế hoạch cấp cao nhất Nút được gọiModifyTable. (soi kèo bóng đá truoctran đơn giảnChèn ... Giá trịLệnh tạo ra a Cây kế hoạch tầm thường bao gồm soi kèo bóng đá truoctranresultNode, chỉ tính toán soi kèo bóng đá truoctran hàng kết quả vàModifyTableTrên nó để thực hiện chèn. NhưngChèn ... ChọnCó thể Yêu cầu toàn bộ sức mạnh của cơ chế soi kèo bóng đá truoctran.) ChoCập nhật, Người lập kế hoạch sắp xếp mỗi soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran) của mục tiêu ban đầu soi kèo bóng đá truoctran ngang; Dữ liệu này được đưa vàoModifyTableNode, sử dụng thông tin để tạo soi kèo bóng đá truoctran hàng cập nhật mới và Đánh dấu hàng cũ bị xóa. VìXóa, The chỉ cột thực sự được trả lại bởi kế hoạch là tid, và TheModifyTableNode chỉ sử dụng TID Để truy cập từng soi kèo bóng đá truoctran mục tiêu và đánh dấu nó đã xóa.