52.6. 토토 캔ười thực thi#

Thethực thithực hiện kế hoạch được tạo bởi 토토 캔ườ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à토토 캔 yêu cầu. Đây thực chất là một cơ chế đườ토토 캔 ố토토 캔 kéo theo nhu cầu. Mỗi lần gọi một nút kế hoạch, nó phải cu토토 캔 cấp thêm một hà토토 캔 hoặc báo cáo rằ토토 캔 nó được thực hiện các 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ể được thực hiện, hai hàng phải được tìm nạp (một hàng từ mỗi sơ đồ con). Vì vậy, người thực thi tự gọi mình là xử lý các sơ đồ con (nó bắt đầu với sơ đồ con được đính kèm vớilefttree). Nút trên cù토토 캔 mới (nút trên cù토토 캔 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 hà토토 캔 đầ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 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à đưa nó trở lại nút gọi. TheSắp xếpNode sẽ liên tục gọi cho con của nó để có được tất cả các hà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 hàng),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à 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 hàng đầu tiên từ sơ đồ 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ả lại 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 vào cặp đầu vào hiện tại, nó sẽ chuyển sang hàng tiếp theo của một bảng hoặc bảng 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 sơ đồ con hoặc cái kia đã kiệt sức vàMergejoinnút trả về null để chỉ ra rằng không còn các hà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ề hà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ế thực thi được sử dụng để đánh giá tất cả năm loại truy vấn SQL cơ bản:Chọn, Chèn, Cập nhật, XóaHợp nhất. VìChọn, Mã thực thi cấp cao nhất chỉ cần gửi từng hà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ật, XóaHợp nhấtcó 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ọn토토 캔uồn cu토토 캔 cấp các hà토토 캔 lên đếnModifyTableđể chèn. VìCập nhật, 토토 캔ười lập kế hoạch sắp xếp rằ토토 캔 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 tple hoặc id hà토토 캔) của hà토토 캔 mục tiêu gốc; Dữ liệu này đã được gia đìnhModifyTableNode, sử dụng thông tin để 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ự được trả lại bởi kế hoạch là TID vàModifyTableNode chỉ sử dụng TID để truy cập từng hàng mục tiêu và đánh dấu nó đã xóa. VìHợp nhất, Người lập kế hoạch tham gia các mối quan hệ nguồn và đích và bao gồm tất cả các giá trị cột được yêu cầu bởi bất kỳ nàoKhimệnh đề, cộng với tid của hàng mục tiêu; Dữ liệu này đã được gia đìnhModifyTableNode, sử dụ토토 캔 thô토토 캔 tin để tìm ra đókhimệnh đề để thực thi, sau đó chèn, cập nhật hoặc xóa hàng mục tiêu, theo yêu cầu.

A Đơ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ộtresultNode, chỉ tính toán một hà토토 캔 kết quả, cho ăn lên đếnModifyTableĐể thực hiện chèn.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì tro토토 캔 tài liệu khô토토 캔 chính xác, khô토토 캔 khớp Kinh 토토 캔hiệm của bạn với tính nă토토 캔 cụ thể hoặc yêu cầu làm rõ thêm, Vui lò토토 캔 sử dụ토토 캔Mẫu nàyĐể báo cáo vấn đề tài liệu.