bắt đầu bằngPostgreSQL7.1 có thể kiểm soát người lập kế tỷ lệ kèo bóng đá trực tuyến hôm nay 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. ĐẾN 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ì Ví dụ, nó có thể tạo ra một kế hoạch truy vấn tỷ lệ kèo bóng đá trực tuyến hôm nay từ A đến B, sử dụng TheWHEREđiều kiệna.id = B.ID12157_12218WHEREĐ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ả đó. Hoặc nó có thể tỷ lệ kèo bóng đá trực tuyến hôm nay A đến C và sau đó tỷ lệ kèo bóng đá trực tuyến hôm nay cùng họ với B --- nhưng đó sẽ là không hiệu quả, vì sản phẩm cartesian đầy đủ của A và C sẽ phải được hình thành, không có điều kiện áp dụng trongWHEREmệnh đề cho phép tối ưu hóa 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 đầu vào các bảng, vì vậy cần phải xây dựng kết quả trong một hoặc một trong những thời trang khác.) Điểm quan trọng là những điều này Các khả năng tỷ lệ kèo bóng đá trực tuyến hôm nay khác nhau 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 kiếm nhiều nhất Kế hoạch truy vấn hiệu quả.
Khi truy vấn chỉ liên quan đến hai hoặc ba bảng, không có
Nhiều người tỷ lệ kèo bóng đá trực tuyến hôm nay các đơn đặt hàng để lo lắng về. Nhưng số lượng tỷ lệ kèo bóng đá trực tuyến hôm nay có thể
Đơn đặt hàng tăng theo cấp số nhân khi số lượng bảng mở rộng.
Ngoài mười bảng đầu vào, nó không còn thực tế để thực hiện
tìm kiếm toàn diện tất cả các khả năng, và thậm chí trong sáu hoặc
Bảy bảng lập kế hoạch có thể mất một thời gian dài khó chịu. Khi
Có quá nhiều bảng đầu vào,PostgreSQLNgười lập kế tỷ lệ kèo bóng đá trực tuyến hôm nay sẽ chuyển từ
tìm kiếm toàn diện cho mộtdi 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_threshold
tỷ lệ kèo bóng đá trực tuyến hôm nay số thời gian chạy được mô tả trong
Thekèo bóng đá hôm nay và ngày mai: Tài liệu: 7.3: kèo bóng đá hôm nay và.) 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ế tỷ lệ kèo bóng đá trực tuyến hôm nay tốt nhất có thể.
Khi truy vấn liên quan đến 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 hơn nhiều Tự do hơn nó cho đồng bằng (bên trong) tỷ lệ kèo bóng đá trực tuyến hôm nay. Ví dụ, coi như
14144_14220
Mặc dù các hạn chế của truy vấn này giống nhau Theo ví dụ trước, ngữ nghĩa là khác nhau bởi vì một Hàng phải được phát ra cho mỗi hàng của A không có hàng phù hợp trong Sự tỷ lệ kèo bóng đá trực tuyến hôm nay của B và C. Do đó, người lập kế hoạch không có lựa chọn tỷ lệ kèo bóng đá trực tuyến hôm nay Đặt hàng tại đây: Nó phải 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ả đó. Theo đó, truy vấn này mất ít thời gian hơn để lập kế hoạch so với trước đây Truy vấn.
ThePostgreSQLNgười lập kế tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấn đối xử rõ ràngtỷ lệ kèo bóng đá trực tuyến hôm nayCú pháp như hạn chế thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay, mặc dù nó không phải là logic cần thiết để thực hiện một ràng buộc như vậy cho các tỷ lệ kèo bóng đá trực tuyến hôm nay bên trong. Vì thế, Mặc dù tất cả các truy vấn này cho cùng một kết quả:
Chọn * từ a, b, c trong đó a.id = B.Id và B.Ref = c.id; Chọn * từ một chéo tỷ lệ kèo bóng đá trực tuyến hôm nay B Cross tỷ lệ kèo bóng đá trực tuyến hôm nay C WHERE a.id = B.Id và B.Ref = c.Id; Chọn * từ một lần tỷ lệ kèo bóng đá trực tuyến hôm nay (B tỷ lệ kèo bóng đá trực tuyến hôm nay C trên (B.REF = C.ID)) trên (a.id = B.ID);
Nhưng thứ hai và thứ ba mất ít thời gian hơn để lập kế tỷ lệ kèo bóng đá trực tuyến hôm nay 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.
Bạn không cần phải hạn chế thứ tự tỷ lệ kèo bóng đá trực tuyến hôm nay hoàn toàn đặt hàng để cắt thời gian tìm kiếm, vì sử dụng là oktỷ lệ kèo bóng đá trực tuyến hôm naytoán tử ở một đơn giảntừDanh sách. Ví dụ,
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 đó ...;
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 với chúng với người khác Bảng, nhưng không hạn chế các lựa chọn của nó khác. Trong này Ví dụ, số lượng đơn đặt hàng có thể có thể giảm được Yếu tố 5.
Nếu bạn có sự kết hợp giữa các kết hợp bên ngoài và bên trong trong một truy vấn phức tạp, Bạn có thể không muốn hạn chế tìm kiếm của kế hoạch cho một điều tốt Đặt hàng bên trong tỷ lệ kèo bóng đá trực tuyến hôm nay bên trong một tỷ lệ kèo bóng đá trực tuyến hôm nay bên ngoài. Bạn không thể làm điều đó trực tiếp trongtỷ lệ kèo bóng đá trực tuyến hôm nayCú pháp, nhưng bạn có thể Nhận xung quanh giới hạn cú pháp bằng cách sử dụng SubSelects. Vì ví dụ,
16287_16382
Ở đây, tỷ lệ kèo bóng đá trực tuyến hôm nay d phải là bước cuối cùng trong kế hoạch truy vấn, nhưng Người lập kế hoạch có thể tự do xem xét các đơn đặt hàng tỷ lệ kèo bóng đá trực tuyến hôm nay khác nhau cho A, B, C.
Hạn 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 để giảm thời gian lập kế hoạch và chỉ đạo người lập kế hoạch cho một kế hoạch truy vấn tốt. Nếu người lập kế hoạch chọn tỷ lệ kèo bóng đá trực tuyến hôm nay xấu Đặt hàng theo mặc định, bạn có thể buộc nó chọn một đơn đặt hàng 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 của một thứ tự tốt hơn, đó là. Thử nghiệm được khuyến nghị.