Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / 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 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ế.

13.3. Kiểm soát người kèo bóng đá pháp kế hoạch với rõ ràngkèo bóng đá phápmệnh đề

Có thể điều khiển trình kèo bóng đá pháp kế hoạch truy vấn ở một mức độ nào đó bằng cáchkèo bóng đá phápCú kèo bóng đá pháp. Để xem

Trong một truy vấn kèo bóng đá pháp đơn giản, chẳng hạn như

Chọn * từ a, b, c trong đó a.id = b.id và B.Ref = c.id;

Người lập kế hoạch miễn phí kèo bóng đá pháp các bảng đã cho theo bất kỳ thứ tự nào. VìWHEREđiều kiệna.id = B.ID, và sau đó kèo bóng đá pháp C để kèo bóng đá pháp nàyWHEREĐiều kiện.WHEREmệnh đề cho phép tối ưu hóaPostgreSQLkèo bóng đá pháp thực thi xảy ra giữa hai đầu vào

Khi truy vấn chỉ liên quan đến hai hoặc ba bảng, không cóPostgreSQLNgười kèo bóng đá pháp kế hoạch sẽ chuyển từdi truyềnTìm kiếm xác suất thông qua số lượng khả năng hạn chế.geqo_thresholdkèo bóng đá pháp số thời gian chạy.) Tìm kiếm di truyền mất ít thời gian hơn, nhưng nó

Khi truy vấn liên quan đến kèo bóng đá pháp bên ngoài, người lập kế hoạch có ít hơn

14272_14348

Mặc dù các hạn chế của truy vấn này giống nhau

14910_14990

Trước tiên, kèo bóng đá pháp A đến B hoặc C. Hiện tại, chỉkèo bóng đá pháp đầy đủhoàn toàn hạn chế sự kèo bóng đá phápTráihoặckèo bóng đá pháp bên phảicó thể

Cú kèo bóng đá pháp nối bên trong rõ ràng (bên trong, kèo bóng đá pháp chéohoặc Unadornedkèo bóng đá pháp) về mặt ngữ nghĩa giống nhưtừ, Vì vậy

Mặc dù hầu hết các loạikèo bóng đá phápĐừngPostgreSQLTruy vấn kế hoạch đếnkèo bóng đá phápmệnh đề như ràng buộc

Chọn * từ a, b, c trong đó a.id = B.Id và B.Ref = c.id;

Nhưng nếu chúng ta nói với người kèo bóng đá pháp kế hoạch để tôn vinhkèo bóng đá phápĐặt hàng, thứ hai và thứ ba mất ít thời gian hơn để

Để buộc người lập kế hoạch tuân theo thứ tự kèo bóng đá pháp được đặt ra bởikèo bóng đá phápS, đặtkèo bóng đá pháp gia_collapse_limitkèo bóng đá pháp số thời gian chạy thành 1. (Các giá trị có thể khác được thảo luận

Bạn không cần phải hạn chế thứ tự kèo bóng đá pháp hoàn toànkèo bóng đá phápkèo bóng đá pháp vận hành trong các mục của đơn giảntừDanh sách. Ví dụ, xem xét

Chọn * từ một chéo kèo bóng đá pháp B, C, D, E trong đó ...;

kèo bóng đá phápkèo bóng đá pháp gia_collapse_limit= 1, this

Hạn chế tìm kiếm của người kèo bóng đá pháp kế hoạch theo cách này là mộtkèo bóng đá phápCú kèo bóng đá pháp - giả sử rằng bạn biết về

Một vấn đề liên quan chặt chẽ ảnh hưởng đến thời gian kèo bóng đá pháp kế hoạch là

Chọn *

Tình huống này có thể phát sinh từ việc sử dụng một quan điểm có chứaChọnQuy tắc sẽ được

Chọn * Từ x, y, a, b, c trong đó một cái gì đó và một cái gì đó;

Điều này thường dẫn đến một kế hoạch tốt hơn so kèo bóng đá pháp kế hoạchở đâuĐiều kiện có thể là kết hợp X đến Afrom_collapse_limit từCác mục sẽ dẫn đến cha mẹ

from_collapse_limitkèo bóng đá pháp gia_collapse_limitđược đặt tên tương tự vì chúng làm gần như giống nhau: một"FlattenSubSelects và các điều khiển khác khi nó sẽkèo bóng đá pháp gia_collapse_limitbằngfrom_collapse_limit(Vì vậy, đó là sự kèo bóng đá pháp rõ ràng vàkèo bóng đá pháp gia_collapse_limitđến 1 (nếu bạn muốn kiểm soát