Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển: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 cách đọc kèo bóng đá trang chohiện tạiPhiên bản hoặc cách đọc kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

48.6. Người cách đọc kèo bóng đá

Thecách đọc kèo bóng đáLấ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 cách đọc kèo bóng đá yêu cầu. Đây thực chất là một cơ chế đường ống kéo theo nhu cầu.

Để cung cấp cách đọc kèo bóng đá 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ể được thực hiện, hai cách đọc kèo bóng đá phải được tìm nạp (một cách đọc kèo bóng đá từ mỗi sơ đồ con).refttree). 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 thiết để có được một cách đọc kèo bóng đá đầu vào. Nút con củaSắp xếpcó thể là cách đọc kèo bóng đáseqscanNode, đại diện cho việc đọc thực tế của một bảng. Việc thực thi nút này khiến người thực thi tìm nạp một cách đọc kèo bó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 cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá),Sắp xếpMã thực hiện sắp xếp và cuối cùng có thể trả về cách đọc kèo bóng đá đầu ra đầu tiên của nó, cụ thể là cách đọc kèo bóng đá đầu tiên theo thứ tự được sắp xếp. Nó giữ các cách đọc kèo bó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 cách đọc kèo bóng đá đầu tiên từ sơ đồ con bên phải của nó. Sau đó, nó so sánh hai cách đọc kèo bóng đá để xem liệu chúng có thể được tham gia hay không;MergejoinNode trả về null để cho biết rằng không còn các cách đọc kèo bóng đá 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ề cách đọc kèo bóng đá đầ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ế cách đọc kèo bóng đá đượ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ọn, Mã thực thi cấp cao nhất chỉ cần gửi từng cách đọc kèo bóng đá được trả về bởi cây kế hoạch truy vấn cho máy khách.Chè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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá) của cách đọc kèo bóng đá mục tiêu ban đầu; Dữ liệu này đã được gia đìnhModifyTableNode, sử dụng thông tin để tạo một cách đọc kèo bóng đá cập nhật mới và đánh dấu cách đọc kèo bóng đá cũ bị xóa. VìXóa, cột duy nhất cách đọc kèo bóng đá sự được trả lại bởi kế hoạch là TID vàModifyTableNode chỉ sử dụng TID để truy cập từng cách đọc kèo bóng đá mục tiêu và đánh dấu nó bị xóa.

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