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
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ế.

15.3. Kế hoạch kèo bóng đá c1

Vì mỗi công nhân thực hiện phần kèo bóng đá c1 của kế hoạch hoàn thành, không thể chỉ cần thực hiện một kế hoạch truy vấn thông thường và chạy nó bằng nhiều công nhân. Mỗi công nhân sẽ tạo ra một bản sao đầy đủ của tập kết quả đầu ra, vì vậy truy vấn sẽ không chạy nhanh hơn bình thường nhưng sẽ tạo ra kết quả không chính xác.Kế kèo bóng đá c1 một phần; Đó là, nó phải được xây dựng để mỗi quy trình thực hiện kế kèo bóng đá c1 sẽ chỉ tạo ra một tập hợp con của các hàng đầu ra theo cách mà mỗi hàng đầu ra bắt buộc được đảm bảo được tạo bởi chính xác một trong các quy trình hợp tác.

15.3.1. Quét kèo bóng đá c1

Các loại quét bảng kèo bóng đá c1 sau đây hiện đang được hỗ trợ.

  • trong AQuét tuần tự kèo bóng đá c1, các khối của bảng sẽ được chia cho các quy trình kèo bóng đá c1 tác. Các khối được đưa ra một lần, để truy cập vào bảng vẫn là tuần tự.

  • trong AQuét heap bitmap kèo bóng đá c1, một quá trình được chọn làm người lãnh đạo. Quá trình đó thực hiện quét một hoặc nhiều chỉ mục và xây dựng bitmap cho biết các khối bảng nào cần được truy cập.

  • trong AQuét chỉ mục kèo bóng đá c1hoặcQuét chỉ có chỉ mục kèo bóng đá c1, Các quy trình hợp tác thay phiên nhau đọc dữ liệu từ chỉ mục. Hiện tại, quét chỉ mục kèo bóng đá c1 chỉ được hỗ trợ cho các chỉ mục Btree.

Các loại quét khác, chẳng hạn như quét các chỉ mục không btree, có thể hỗ trợ quét kèo bóng đá c1 trong tương lai.

15.3.2. Tham gia kèo bóng đá c1

Giống như trong một kế hoạch không kèo bóng đá c1, bảng lái có thể được nối với một hoặc nhiều bảng khác bằng cách sử dụng vòng lặp lồng nhau, nối băm hoặc hợp nhất tham gia. Mặt bên trong của tham gia có thể là bất kỳ loại kế hoạch kèo bóng đá c1 nào được hỗ trợ bởi người lập kế hoạch với điều kiện là an toàn khi chạy trong một công nhân kèo bóng đá c1.

Mỗi công nhân sẽ thực hiện phía bên trong của tham gia đầy đủ. Đây thường không phải là vấn đề đối với các vòng lặp lồng nhau, nhưng có thể không hiệu quả đối với các trường kèo bóng đá c1 liên quan đến băm hoặc kết kèo bóng đá c1.

15.3.3. Tập hợp kèo bóng đá c1

PostgreSQLHỗ trợ tập hợp kèo bóng đá c1 bằng cách tổng hợp theo hai giai đoạn. Đầu tiên, mỗi quá trình tham gia vào phần kèo bóng đá c1 của truy vấn thực hiện bước tổng hợp, tạo ra kết quả một phần cho mỗi nhóm mà quá trình đó nhận thức được.Tổng kèo bóng đá c1 một phầnNode. Thứ hai, kèo bóng đá c1t quả một phần được chuyển cho người lãnh đạo thông quaTập kèo bóng đá c1hoặcTập kèo bóng đá c1 kèo bóng đá c1 nhất. Cuối cùng, nhà lãnh đạo tổng kèo bóng đá c1 lại kết quả trên tất cả các công nhân để tạo ra kết quả cuối cùng.Hoàn thiện tổng kèo bóng đá c1Node.

Hoàn thiện tổng kèo bóng đá c1Node chạy trên quy trình lãnh đạo, các truy vấn tạo ra một số lượng lớn các nhóm so với số lượng hàng đầu vào sẽ xuất hiện ít thuận lợi hơn so với trình lập kế kèo bóng đá c1 truy vấn. Ví dụ: trong trường hợp xấu nhất, số lượng nhóm được nhìn thấy bởiHoàn thiện tổng kèo bóng đá c1Node có thể nhiều như số lượng hàng đầu vào được nhìn thấy bởi tất cả các quy trình công nhân trongTổng kèo bóng đá c1 một phầnGiai đoạn. Đối với những trường hợp như vậy, rõ ràng sẽ không có lợi ích hiệu suất khi sử dụng tập hợp kèo bóng đá c1.

Tập hợp kèo bóng đá c1 không được hỗ trợ trong tất cả các tình huống. Mỗi tập hợp phải làan toànĐối với kèo bóng đá c1 và phải có chức năng kết hợp. Nếu tổng hợp có trạng thái chuyển tiếp loạiNội bộ, nó phải có chức năng tuần tự hóa và giải phóng hóa. Nhìn thấyPostgreSQL: Tài liệu:Để biết thêm chi tiết. Tập hợp kèo bóng đá c1 không được hỗ trợ nếu bất kỳ cuộc gọi hàm tổng hợp nào chứakhác biệthoặcĐặt hàng bởimệnh đề và cũng không được hỗ trợ cho các tập kèo bóng đá c1 được đặt theo thứ tự hoặc khi truy vấn liên quan đếnNhóm nhóm. Nó chỉ có thể được sử dụng khi tất cả các tham gia liên quan đến truy vấn cũng là một phần của phần kèo bóng đá c1 của kế hoạch.

15.3.4. Mẹo kế hoạch kèo bóng đá c1

Nếu một truy vấn dự kiến ​​sẽ làm như vậy không tạo ra một kế hoạch kèo bóng đá c1, bạn có thể thử giảmkèo bóng đá c1 song_setup_costhoặckèo bóng đá c1 song_tuple_cost. Tất nhiên, kế kèo bóng đá c1 này có thể trở nên chậm hơn kế kèo bóng đá c1 nối tiếp mà người lập kế kèo bóng đá c1 ưa thích, nhưng điều này sẽ không phải lúc nào cũng như vậy.Phần 15.2Phần 15.4Để biết thông tin về lý do tại sao điều này có thể là trường kèo bóng đá c1.

Khi thực hiện gói kèo bóng đá c1, bạn có thể sử dụngGiải thích (Phân tích, Verbose)Để hiển thị số liệu thống kê trên mỗi công nhân cho mỗi nút kế kèo bóng đá c1. Điều này có thể hữu ích trong việc xác định liệu công việc có được phân phối đồng đều giữa tất cả các nút kế kèo bóng đá c1 hay không và nói chung trong việc tìm hiểu các đặc điểm hiệu suất của kế kèo bóng đá c1.