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

14.3. Kiểm soát người lập kế hoạch với rõ ràngtỷ lệ kèo bóng đá trực tuyến hôm naymệnh đề

Có thể điều khiển trình lập kế hoạch truy vấn ở một mức độ nào đó bằng cách sử dụng rõ ràngtỷ lệ kèo bóng đá trực tuyến hôm nayCú pháp. Để xem tại sao điều này quan trọng, trước tiên chúng ta cần một số nền.

Trong một truy vấn tỷ lệ kèo bóng đá trực tuyến hôm nay đơ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í tỷ lệ kèo bóng đá trực tuyến hôm nay các bảng đã cho theo bất kỳ thứ tự nào. Ví dụ: nó có thể tạo một kế hoạch truy vấn tỷ lệ kèo bóng đá trực tuyến hôm nay A đến B, sử dụngWHEREđiều kiệna.id = B.ID, và sau đó tỷ lệ kèo bóng đá trực tuyến hôm nay C với bảng đã tỷ lệ kèo bóng đá trực tuyến hôm nay này, bằng cách sử dụng khácWHEREĐiều kiện. Hoặc nó có thể tỷ lệ kèo bóng đá trực tuyến hôm nay B đến C và sau đó tỷ lệ kèo bóng đá trực tuyến hôm nay A với kết quả đó.WHEREmệnh đề cho phép tối ưu hóa sự tỷ lệ kèo bóng đá trực tuyến hôm nay. (Tất cả các tỷ lệ kèo bóng đá trực tuyến hôm nay trongPostgreSQLNgười thực thi xảy ra giữa hai bảng đầu vào, do đó, cần phải xây dựng kết quả trong một hoặc một trong những thời trang này.) Điểm quan trọng là các khả năng tỷ lệ kèo bóng đá trực tuyến hôm nay khác nhau này cho kết quả tương đương về mặt ngữ nghĩa nhưng có thể có chi phí thực hiện cực kỳ khác nhau. Do đó, người lập kế hoạch sẽ khám phá tất cả chúng để cố gắng tìm kế hoạch truy vấn hiệu quả nhất.

Khi một truy vấn chỉ liên quan đến hai hoặc ba bảng, không có nhiều lệnh tỷ lệ kèo bóng đá trực tuyến hôm nay để lo lắng. Nhưng số lượng đơn đặt hàng có thể tăng theo cấp số nhân khi số lượng bảng mở rộng.PostgreSQLNgười lập kế hoạch sẽ chuyển từ tìm kiếm toàn diện sang Adi truyềnTìm kiếm xác suất thông qua số lượng khả năng hạn chế. (Ngưỡng chuyển đổi được đặt bởigeqo_thresholdtỷ lệ kèo bóng đá trực tuyến hôm nay số thời gian chạy.) Tìm kiếm di truyền mất ít thời gian hơn, nhưng nó sẽ không nhất thiết tìm thấy kế hoạch tốt nhất có thể.

Khi truy vấn liên quan đến các tỷ lệ kèo bóng đá trực tuyến hôm nay bên ngoài, người lập kế hoạch có ít tự do hơn so với các tỷ lệ kèo bóng đá trực tuyến hôm nay đơn giản (bên trong). Ví dụ: xem xét:

14169_14245

Mặc dù các hạn chế của truy vấn này tương tự như ví dụ trước đó, ngữ nghĩa là khác nhau vì một hàng phải được phát ra cho mỗi hàng A của A không có hàng phù hợp trong tỷ lệ kèo bóng đá trực tuyến hôm nay B và C. Do đó, người lập kế hoạch không có lựa chọn nào về thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay ở đây: nó phải tỷ lệ kèo bóng đá trực tuyến hôm nay B với C và sau đó tỷ lệ kèo bóng đá trực tuyến hôm nay kết quả đó. Theo đó, truy vấn này mất ít thời gian hơn để lập kế hoạch so với truy vấn trước đó.

14795_14875

Có hợp lệ khi tỷ lệ kèo bóng đá trực tuyến hôm nay A đến B hoặc C trước tiên. Hiện tại, chỉtỷ lệ kèo bóng đá trực tuyến hôm nay đầy đủhoàn toàn hạn chế thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay. Hầu hết các trường hợp thực tế liên quan đếntỷ lệ kèo bóng đá trực tuyến hôm nay tráihoặctỷ lệ kèo bóng đá trực tuyến hôm nay bên phảiCó thể được sắp xếp lại ở một mức độ nào đó.

Cú pháp nối bên trong rõ ràng (tỷ lệ kèo bóng đá trực tuyến hôm nay bên trong, tỷ lệ kèo bóng đá trực tuyến hôm nay chéohoặc Unadornedtỷ lệ kèo bóng đá trực tuyến hôm nay) Về mặt ngữ nghĩa giống như liệt kê các quan hệ đầu vào trongtừ, vì vậy nó không ràng buộc thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay.

Mặc dù hầu hết các loại15530_15536Không hoàn toàn hạn chế thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay, có thể hướng dẫnPostgreSQLTruy vấn kế hoạch để điều trị tất cảtỷ lệ kèo bóng đá trực tuyến hôm nayĐiều khoản như ràng buộc thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay. Ví dụ: ba truy vấn này tương đương về mặt logic:

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 lập kế hoạch để tôn vinhtỷ lệ kèo bóng đá trực tuyến hôm nayĐặt hàng, thứ hai và thứ ba mất ít thời gian hơn để lập kế hoạch so với đầu tiên. Hiệu ứng này không đáng lo ngại chỉ cho ba bảng, nhưng nó có thể là cứu cánh với nhiều bảng.

Để buộc người lập kế hoạch tuân theo thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay được trình bày bởi rõ ràngtỷ lệ kèo bóng đá trực tuyến hôm nays, đặttỷ lệ kèo bóng đá trực tuyến hôm nay gia_collapse_limittỷ lệ kèo bóng đá trực tuyến hôm nay số thời gian chạy thành 1. (Các giá trị có thể khác được thảo luận dưới đây.)

16622_16731tỷ lệ kèo bóng đá trực tuyến hôm nayNgười vận hành trong các mục của một đơn giảntừDanh sách. Ví dụ: xem xét:

Chọn * từ một chéo tỷ lệ kèo bóng đá trực tuyến hôm nay B, C, D, E trong đó ...;

vớitỷ lệ kèo bóng đá trực tuyến hôm nay gia_collapse_limit= 1, điều này buộc người lập kế hoạch tỷ lệ kèo bóng đá trực tuyến hôm nay A đến B trước khi tỷ lệ kèo bóng đá trực tuyến hôm nay chúng với các bảng khác, nhưng không hạn chế các lựa chọn của nó. Trong ví dụ này, số lượng đơn đặt hàng có thể giảm được giảm theo hệ số 5.

Kiềm chế tìm kiếm của người lập kế hoạch theo cách này là một kỹ thuật hữu ích để giảm thời gian lập kế hoạch và hướng người lập kế hoạch đến một kế hoạch truy vấn tốt. Nếu người lập kế hoạch chọn thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay xấu theo mặc định, bạn có thể buộc nó chọn một thứ tự tốt hơn thông quatỷ lệ kèo bóng đá trực tuyến hôm nayCú pháp - Giả sử rằng bạn biết một thứ tự tốt hơn, đó là. Thử nghiệm được khuyến nghị.

Một vấn đề liên quan chặt chẽ ảnh hưởng đến thời gian lập kế hoạch đang sụp đổ các nhóm phụ vào truy vấn cha mẹ của họ. Ví dụ: xem xét:

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ứa một sự tỷ lệ kèo bóng đá trực tuyến hôm nay; Chế độ xemChọnQuy tắc sẽ được chèn thay cho tỷ lệ kèo bóng đá trực tuyến hôm nay chiếu xem, mang lại một truy vấn giống như ở trên. Thông thường, người lập kế hoạch sẽ cố gắng thu gọn trình điều khiển con vào cha mẹ, mang lại:

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 với lập kế hoạch riêng biệt. (Ví dụ: bên ngoàiWHERECác điều kiện có thể sao cho việc nối X đến lần đầu tiên loại bỏ nhiều hàng của A, do đó tránh được sự cần thiết phải hình thành đầu ra logic đầy đủ của phụ.) Nhưng đồng thời, chúng tôi đã tăng thời gian lập kế hoạch; Ở đây, chúng tôi có một vấn đề tỷ lệ kèo bóng đá trực tuyến hôm nay năm chiều thay thế hai vấn đề tỷ lệ kèo bóng đá trực tuyến hôm nay ba chiều riêng biệt.from_collapse_limit từCác mục sẽ dẫn đến truy vấn cha mẹ. Bạn có thể đánh đổi thời gian lập kế hoạch chống lại chất lượng kế hoạch bằng cách điều chỉnh tỷ lệ kèo bóng đá trực tuyến hôm nay số thời gian chạy này lên hoặc xuống.

from_collapse_limittỷ lệ kèo bóng đá trực tuyến hôm nay gia_collapse_limitđược đặt tên tương tự vì chúng làm gần như điều tương tự: một điều khiển khi người lập kế hoạch sẽHồiFlatten OutxôngCác mục tiêu phụ và các điều khiển khác khi nó sẽ làm phẳng các kết nối rõ ràng. Thông thường bạn sẽ đặttỷ lệ kèo bóng đá trực tuyến hôm nay gia_collapse_limitbằngfrom_collapse_limit19725_19789tỷ lệ kèo bóng đá trực tuyến hôm nay gia_collapse_limitđến 1 (nếu bạn muốn kiểm soát thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay với các tỷ lệ kèo bóng đá trực tuyến hôm nay rõ ràng). Nhưng bạn có thể đặt chúng khác nhau nếu bạn đang cố gắng điều chỉnh sự đánh đổi giữa thời gian lập kế hoạch và thời gian chạy.

Gửi hiệu chỉnh

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.