Postgresql 8.1.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 41. Tổng quan về PostgreSQL Internals | Chuyển tiếp nhanh | NEXT |
Thethực thiĐưa ra kế hoạch được trao trở lại bởi 젠 토토ườ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 hà젠 토토 yêu cầu. Đây thực chất là một Cơ chế đườ젠 토토 ố젠 토토 có nhu cầu. Mỗi khi một nút kế hoạch được gọi, nó phải cu젠 토토 cấp thêm một hà젠 토토, hoặc báo cáo rằ젠 토토 nó đã được thực hiện cu젠 토토 cấp hà젠 토토.
Để cu젠 토토 cấp một ví dụ cụ thể, giả sử rằ젠 토토 nút trên cù젠 토토 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 (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ù젠 토토 mới (nút trên cù젠 토토 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 hà젠 토토 đầ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 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ó Để có được tất cả các hà젠 토토 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 hà젠 토토),Sắp xếpMã thực 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à cái đầu tiên theo thứ tự sắp xếp. Nó giữ các hàng 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.
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 chúng có thể được tham gia hay không; Nếu vậy, nó trả về một hàng tham gia cho người gọi của nó. 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 một bảng hoặc cái khác (tùy thuộc vào cách so sánh ra mắt), Và một lần nữa kiểm tra một trận đấu. Cuối cùng, một kế hoạch con hoặc Khác đã kiệt sức vàMergejoinNode trả về null để cho biết rằng không còn các hàng 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ề Hàng đầ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ế thực thi đượ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ậtvàXóa. VìChọn, Mã thực thi cấp cao nhất chỉ cần Gửi mỗi hàng được trả về bởi cây kế hoạch truy vấn cho máy khách. VìChèn, mỗi hàng đượ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ườ젠 토토 bao gồm một đơnresultnút, chỉ tính toán Một hà젠 토토 kết quả. Như젠 토토Chèn ... ChọnCó thể yêu cầu toàn bộ sức mạnh của cơ chế thực thi.) ChoCập nhật, 젠 토토ười lập kế hoạch sắp xếp mỗi Hà젠 토토 được tính toán bao gồm tất cả các giá trị cột được cập nhật, cộ젠 토토 vớiTID(id tuple hoặc id hàng) của Hàng 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 hàng cập nhật mới và đánh dấu hàng cũ đã bị xóa. VìXóa, cột duy nhất thực sự là Được trả lại bởi kế hoạch là tid và cấp cao nhất của người thực thi chỉ cần sử dụng tid để truy cập từng hàng mục tiêu và đánh dấu nó bị xóa.
prev | Tra젠 토토 chủ | Tiếp theo |
젠 토토ười lập kế hoạch/Tối ưu hóa | UP | Hệ thố젠 토토 Danh mục |