Vì mỗi công nhân thực hiện phần tỷ lệ kèo bóng đá tối nay 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.tỷ lệ kèo bóng đá tối nay một phần; Đó là, nó phải được xây dựng để mỗi quá trình thực hiện tỷ lệ kèo bóng đá tối nay 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.
Các loại quét bảng tỷ lệ kèo bóng đá tối nay sau đây hiện đang được hỗ trợ.
trong AQuét tuần tự tỷ lệ kèo bóng đá tối nay, các khối của bảng sẽ được chia cho các quy trình hợp 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 tỷ lệ kèo bóng đá tối nay, 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 tỷ lệ kèo bóng đá tối nayhoặcQuét chỉ có chỉ mục tỷ lệ kèo bóng đá tối nay, 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 tỷ lệ kèo bóng đá tối nay 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ợ các lần quét tỷ lệ kèo bóng đá tối nay trong tương lai.
Giống như trong một kế hoạch không tỷ lệ kèo bóng đá tối nay, 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay.
trong AVòng lặp lồng nhau tham gia, phía bên trong luôn không tỷ lệ kèo bóng đá tối nay. Mặc dù nó được thực hiện đầy đủ, nhưng điều này là hiệu quả nếu phía bên trong là quét chỉ mục, bởi vì các bộ dữ liệu bên ngoài và do đó các vòng tìm kiếm các giá trị trong chỉ mục được chia cho các quá trình hợp tác.
trong AHợp nhất tham gia, phía bên trong luôn là một kế hoạch không tỷ lệ kèo bóng đá tối nay và do đó được thực hiện đầy đủ. Điều này có thể không hiệu quả, đặc biệt là nếu phải thực hiện một loại, bởi vì công việc và dữ liệu kết quả được nhân đôi trong mọi quy trình hợp tác.
trong Abăm tham gia(Không có tiền tố "tỷ lệ kèo bóng đá tối nay"), phía bên trong được thực hiện đầy đủ bởi mọi quy trình hợp tác để xây dựng các bản sao giống hệt của bảng băm. Điều này có thể không hiệu quả nếu bảng băm lớn hoặc kế hoạch đắt tiền.Hash tỷ lệ kèo bóng đá tối nay tham gia, phía bên trong làHash tỷ lệ kèo bóng đá tối nayChia công việc xây dựng bảng băm chung trên các quy trình hợp tác.
PostgreSQLHỗ trợ tập hợp tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 hợp một phần
Node. Thứ hai, kết quả một phần được chuyển cho người lãnh đạo thông quaTập hợp
hoặcTập hợp hợp nhất
. Cuối cùng, nhà lãnh đạo tổng hợp 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 hợp
Node.
vìHoàn thiện tổng hợp
Node chạy trên quy trình lãnh đạo, các truy vấn tạo ra một số lượng tương đối 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 tỷ lệ kèo bóng đá tối nay 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 hợp
Node 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 hợp một phần
Giai đ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 tỷ lệ kèo bóng đá tối nay.
Tập hợp tỷ lệ kèo bóng đá tối nay không được hỗ trợ trong mọi tình huống. Mỗi tập hợp phải làan toàncho tỷ lệ kèo bóng đá tối nay 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ấyTạo tổng hợpĐể biết thêm chi tiết. Tập hợp tỷ lệ kèo bóng đá tối nay 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ệt
hoặcĐặt hàng bởi
mệnh đề và cũng không được hỗ trợ cho các tập hợp đặt theo thứ tự hoặc khi truy vấn liên quan đếnBộ 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 tỷ lệ kèo bóng đá tối nay của kế hoạch.
Bất cứ khi nàoPostgreSQLCần kết hợp các hàng từ nhiều nguồn thành một tập kết quả duy nhất, nó sử dụngPhụ lục
hoặcMergeAppend
tỷ lệ kèo bóng đá tối nay nút. Điều này thường xảy ra khi thực hiệnLiên minh tất cả
hoặc khi quét bảng được phân vùng. Các nút như vậy có thể được sử dụng trong các kế hoạch tỷ lệ kèo bóng đá tối nay giống như trong bất kỳ kế hoạch nào khác.Phụ lục tỷ lệ kèo bóng đá tối nay
Node.
khi mộtPhụ lục
16689_16966Phụ lục tỷ lệ kèo bóng đá tối nay
Thay vào đó, người thực thi sẽ thay thế các quy trình tham gia càng tốt càng tốt trong các tỷ lệ kèo bóng đá tối nay của con, để nhiều tỷ lệ kèo bóng đá tối nay con được thực hiện đồng thời. Điều này tránh được sự tranh chấp và cũng tránh phải trả chi phí khởi nghiệp của một tỷ lệ kèo bóng đá tối nay trẻ em trong các quy trình không bao giờ thực hiện nó.
Ngoài ra, không giống như thông thườngPhụ lục
Node, chỉ có thể có trẻ em một phần khi được sử dụng trong gói tỷ lệ kèo bóng đá tối nay, APhụ lục tỷ lệ kèo bóng đá tối nay
Node có thể có cả tỷ lệ kèo bóng đá tối nay trẻ em một phần và phi cộng sự. Trẻ em không cộng tác sẽ được quét chỉ bằng một quy trình duy nhất, vì việc quét chúng nhiều lần sẽ tạo ra kết quả trùng lặp.Phụ lục tỷ lệ kèo bóng đá tối nay
của thông thườngSCAN INDEX
tỷ lệ kèo bóng đá tối nay; Mỗi lần quét chỉ mục riêng lẻ sẽ phải được thực hiện để hoàn thành bởi một quy trình duy nhất, nhưng các lần quét khác nhau có thể được thực hiện cùng một lúc bởi các quy trình khác nhau.
enable_parallel_appendcó thể được sử dụng để vô hiệu hóa tính năng này.
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 tỷ lệ kèo bóng đá tối nay, bạn có thể thử giảmtỷ lệ kèo bóng đá tối nay song_setup_costhoặctỷ lệ kèo bóng đá tối nay song_tuple_cost. Tất nhiên, tỷ lệ kèo bóng đá tối nay này có thể trở nên chậm hơn tỷ lệ kèo bóng đá tối nay nối tiếp mà người lập tỷ lệ kèo bóng đá tối nay ư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.2vàPhần 15.4Để biết thông tin về lý do tại sao điều này có thể là trường hợp.
Khi thực hiện một kế hoạch tỷ lệ kèo bóng đá tối nay, 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 từng nút tỷ lệ kèo bóng đá tối nay. Đ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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.