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

18.6. Lập kèo bóng đá hôm nay và ngày mai

18.6.1. Phương pháp kế kèo bóng đá hôm nay và ngày mai Cấu hình

Các tham số cấu hình này cung cấp một phương thức thô của ảnh hưởng đến các kèo bóng đá hôm nay và ngày mai được lựa chọn bởi trình tối ưu hóa truy vấn. Nếu như Kế hoạch mặc định được chọn bởi trình tối ưu hóa cho một truy vấn cụ thể không phải là tối ưu, một giải pháp tạm thời có thể được tìm thấy bằng cách sử dụng một giải pháp của các tham số cấu hình này để buộc trình tối ưu hóa Chọn một kế hoạch khác. Tắt một trong các cài đặt này vĩnh viễn là hiếm khi là một ý tưởng tốt, tuy nhiên. Những cách tốt hơn để Cải thiện chất lượng của các kế hoạch được chọn bởi trình tối ưu hóa Bao gồm điều chỉnhNgười lập kế kèo bóng đá hôm nay và ngày mai Hằng số chi phí, ChạyPhân tíchthường xuyên hơn, tăng giá trị củadefault_statistic_targettham số cấu hình và tăng số lượng Thống kê được thu thập cho các cột cụ thể bằng cách sử dụngThay đổi bảng thống kê.

enable_bitmapscan(Boolean)

cho phép hoặc vô hiệu hóa việc sử dụng của người lập kèo bóng đá hôm nay và ngày mai Các loại kế hoạch quét bitmap. Mặc định làtrên.

enable_hashagg(Boolean11789_11792

Cho phép hoặc vô hiệu hóa việc sử dụng băm của người lập kèo bóng đá hôm nay và ngày mai Các loại kế hoạch tổng hợp. Mặc định làtrên.

enable_hashjoin(Boolean)

cho phép hoặc vô hiệu hóa việc sử dụng của người lập kèo bóng đá hôm nay và ngày mai Các loại kế hoạch băm. Mặc định làtrên.

enable_indexscan(Boolean)

Cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá hôm nay và ngày mai của Các loại kế hoạch quét chỉ mục. Mặc định làtrên.

enable_mergejoin(Boolean)

cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá hôm nay và ngày mai của Hợp nhất các loại kế hoạch tham gia. Mặc định làtrên.

enable_nestloop(Boolean)

13264_13557trên.

enable_seqscan(Boolean)

Cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá hôm nay và ngày mai của Các loại kế hoạch quét tuần tự. Không thể đàn áp Quét tuần tự hoàn toàn, nhưng tắt biến này không khuyến khích người lập kế hoạch sử dụng một nếu có Phương pháp có sẵn. Mặc định làtrên.

enable_sort(Boolean)

Cho phép hoặc vô hiệu hóa việc sử dụng của người lập kèo bóng đá hôm nay và ngày mai Các bước sắp xếp rõ ràng. Không thể đàn áp hoàn toàn sắp xếp rõ ràng, nhưng tắt biến này không khuyến khích người lập kế hoạch sử dụng một nếu có Phương pháp có sẵn. Mặc định làtrên.

enable_tidscan(Boolean)

cho phép hoặc vô hiệu hóa việc sử dụng của người lập kèo bóng đá hôm nay và ngày maiTIDCác loại kế kèo bóng đá hôm nay và ngày mai quét. Mặc định làtrên.

18.6.2. Chi phí kế kèo bóng đá hôm nay và ngày mai Hằng số

Thechi phíBiến được mô tả trong Phần này được đo trên một thang đo tùy ý. Chỉ có của họ giá trị tương đối quan trọng, do đó mở rộng tất cả chúng lên hoặc xuống bởi yếu tố tương tự sẽ dẫn đến không có thay đổi trong kế kèo bóng đá hôm nay và ngày mai sự lựa chọn. Theo truyền thống, các biến này đã được tham chiếu Trang tuần tự lấy là đơn vị chi phí; đó là,SEQ_PAGE_COSTđược đặt thành thông thường1.0Và các biến chi phí khác là Đặt với tham chiếu đến điều đó. Nhưng bạn có thể sử dụng một quy mô khác Nếu bạn thích, chẳng hạn như thời gian thực hiện thực tế tính bằng mili giây trên một máy cụ thể.

Lưu ý:Thật không may, không có Phương pháp xác định giá trị lý tưởng cho các biến chi phí. Chúng được coi là trung bình tốt nhất trên toàn bộ sự pha trộn của Các kèo bóng đá hôm nay và ngày mai mà một cài đặt cụ thể sẽ nhận được. Điều này có nghĩa là thay đổi chúng trên cơ sở chỉ một vài thí nghiệm rất rủi ro.

SEQ_PAGE_COST16572_16576Nổi điểm)

16652_16802

ngẫu nhiên_page_cost(Nổi điểm)

Đặt ước tính của người lập kế kèo bóng đá hôm nay và ngày mai về chi phí của một Trang đĩa không được tìm hiểu. Mặc định là 4.0. Giảm giá trị này so vớiSEQ_PAGE_COSTsẽ khiến hệ thống Thích quét chỉ mục; Nâng cao nó sẽ làm cho quét chỉ số tương đối đắt hơn. Bạn có thể nâng hoặc thấp hơn cả hai các giá trị cùng nhau thay đổi tầm quan trọng của đĩa I/O chi phí liên quan đến chi phí CPU, được mô tả bởi tham số sau.

Tip:Mặc dù hệ thống sẽ cho phép bạn đặtngẫu nhiên_page_costđến ít hơn hơnSEQ_PAGE_COST17811_18312

cpu_tuple_cost(Nổi điểm)

Đặt ước tính của người lập kế kèo bóng đá hôm nay và ngày mai về chi phí xử lý mỗi hàng trong một truy vấn. Mặc định là 0,01.

CPU_INDEX_TUPE_COST(Điểm nổi)

Đặt ước tính của người lập kế kèo bóng đá hôm nay và ngày mai về chi phí xử lý Mỗi mục nhập chỉ mục trong quá trình quét chỉ mục. Mặc định là 0,005.

CPU_OPERATOR_COST(Nổi điểm)

Đặt ước tính của người lập kế kèo bóng đá hôm nay và ngày mai về chi phí xử lý mỗi toán tử hoặc chức năng được thực thi trong một truy vấn. Các Mặc định là 0,0025.

hiệu quả_cache_size(Số nguyên)

19687_20103PostgreSQLbộ đệm được chia sẻ và một phần bộ nhớ cache đĩa của kernel sẽ được sử dụng choPostgreSQLTệp dữ liệu. Ngoài ra, hãy tính đến số lượng dự kiến ​​của đồng thời kèo bóng đá hôm nay và ngày mai trên các bảng khác nhau, vì chúng sẽ phải Chia sẻ không gian có sẵn. Tham số này không có hiệu lực Trên kích thước của bộ nhớ chia sẻ được phân bổ bởiPostgreSQL, cũng không bảo lưu bộ đệm đĩa kernel; Nó chỉ được sử dụng để ước tính mục đích. Mặc định là 128 megabyte (128MB).

18.6.3. kèo bóng đá hôm nay và ngày mai di truyền Trình tối ưu hóa

geqo(Boolean)

cho phép hoặc vô hiệu hóa tối ưu hóa truy vấn di truyền, mà là một thuật toán cố gắng thực hiện lập kèo bóng đá hôm nay và ngày mai mà không cần tìm kiếm toàn diện. Đây là trên mặc định. Thegeqo_threshold21431_21539

geqo_threshold(Số nguyên)

Sử dụng tối ưu hóa truy vấn di truyền để lập kèo bóng đá hôm nay và ngày mai với AT ít nhất là nhiềutừMục có liên quan. (Lưu ý rằng ABên ngoài đầy đủ THAM GIAXây dựng chỉ có mộttừ22027_22245

geqo_effort(Số nguyên)

kiểm soát sự đánh đổi giữa thời gian lập kế hoạch và truy vấn Kế hoạch hiệu quả trong GEQO. Biến này phải là một số nguyên Trong phạm vi từ 1 đến 10. Giá trị mặc định là năm. Giá trị lớn hơn làm tăng thời gian thực hiện truy vấn lập kế hoạch, nhưng cũng tăng khả năng một kèo bóng đá hôm nay và ngày mai hiệu quả sẽ được chọn.

geqo_effortKhông thực sự làm bất cứ điều gì trực tiếp; nó chỉ được sử dụng để tính toán giá trị mặc định cho các biến khác có ảnh hưởng Hành vi Geqo (được mô tả dưới đây). Nếu bạn thích, bạn có thể Thay vào đó, đặt các tham số khác bằng tay.

geqo_pool_size(Số nguyên)

Điều khiển kích thước nhóm được sử dụng bởi GEQO. Kích thước hồ bơi là Số lượng cá nhân trong quần thể di kèo bóng đá hôm nay và ngày maiền. Nó phải có ít nhất hai và các giá trị hữu ích thường là 100 đến 1000. Nếu nó được đặt thành 0 (cài đặt mặc định) thì Một mặc định phù hợp được chọn dựa trêngeqo_effortvà số lượng bảng trong kèo bóng đá hôm nay và ngày mai.

geqo_generations(Số nguyên)

Kiểm soát số lượng thế hệ được GEQO sử dụng. Thế hệ chỉ định số lần lặp của Thuật toán. Nó phải là ít nhất một và các giá trị hữu ích là Trong cùng phạm vi với kích thước hồ bơi. Nếu nó được đặt thành 0 (cài đặt mặc định) sau đó một mặc định phù hợp được chọn dựa trêngeqo_pool_size.

geqo_selection_bias(Điểm nổi)

Kiểm soát độ lệch lựa chọn được GEQO sử dụng. Các Xu hướng lựa chọn là áp lực chọn lọc trong dân số. Giá trị có thể từ 1,50 đến 2,00; cái sau là mặc định.

18.6.4. Người lập kế kèo bóng đá hôm nay và ngày mai khác Tùy chọn

default_statistic_target(Số nguyên)

Đặt mục tiêu thống kê mặc định cho các cột bảng chưa có mục tiêu cụ thể cột thông quaThay đổi bảng thống kê. Giá trị lớn hơn tăng thời gian cần thiết để làmPhân tích, nhưng có thể cải thiện chất lượng của ước tính của người lập kế kèo bóng đá hôm nay và ngày mai. Mặc định là 10. để biết thêm thông tin về việc sử dụng số liệu thống kê củaPOSTGRESQLTruy vấn kế kèo bóng đá hôm nay và ngày mai, tham khảoPhần 14.2.

instraint_exclusion(Boolean)

26063_26186TẮT.

Khi tham số này làtrên,, người lập kế kèo bóng đá hôm nay và ngày mai so sánh các điều kiện truy vấn với bảngKiểm traràng buộc và bỏ qua các bảng quét mà các điều kiện mâu thuẫn với hạn chế. Ví dụ:

Tạo cha mẹ (số nguyên khóa, ...);
Tạo Bảng trẻ em1000 (Kiểm tra (khóa giữa 1000 đến 1999)) kế thừa (cha mẹ);
Tạo bảng con2000 (kiểm tra (khóa giữa 2000 đến 2999)) kế thừa (cha mẹ);
...
Chọn * từ cha mẹ trong đó phím = 2400;

Với loại trừ bị ràng buộc, điều nàyChọn26889_26906Child1000Tất cả. Điều này có thể cải thiện Hiệu suất khi kế thừa được sử dụng để xây dựng phân vùng bảng.

Hiện tại,instraint_exclusionbị vô hiệu hóa bởi mặc định vì kiểm tra ràng buộc tương đối đắt tiền, và trong nhiều trường hợp sẽ không mang lại Tiết kiệm. Nên chỉ bật điều này nếu bạn thực sự đang sử dụng các bảng được phân vùng được thiết kế để lấy Ưu điểm của tính năng.

Tham khảoPostgreSQL: TàĐể biết thêm thông tin về việc sử dụng ràng buộc loại trừ và phân vùng.

from_collapse_limit(Số nguyên)

Người lập kế kèo bóng đá hôm nay và ngày mai sẽ hợp nhất các truy vấn phụ thành các truy vấn trên Nếu kết quảtừDanh sách sẽ không có nhiều hơn nhiều mặt hàng này. Giá trị nhỏ hơn giảm Thời gian lập kế hoạch nhưng có thể mang lại các kèo bóng đá hôm nay và ngày mai kém hơn. Các Mặc định là tám. Nó thường là khôn ngoan để giữ điều này ít hơn hơngeqo_threshold. Để biết thêm thông tin, xemPhần 14.3.

tham gia_collapse_limit(Số nguyên)

Người lập kế kèo bóng đá hôm nay và ngày mai sẽ viết lại rõ ràngtham giaCấu trúc (ngoại trừTham gia đầy đủs) vào danh sáchtừCác mục bất cứ khi nào một danh sách không nhiều hơn Điều này nhiều mặt hàng sẽ dẫn đến. Giá trị nhỏ hơn giảm thời gian lập kế hoạch nhưng có thể mang lại các kèo bóng đá hôm nay và ngày mai kém hơn.

Theo mặc định, biến này được đặt giống nhưfrom_collapse_limit, đó là thích hợp cho hầu hết các mục đích sử dụng. Đặt nó thành 1 ngăn chặn bất kỳ sắp xếp lại rõ ràngtham gias. Do đó, thứ tự tham gia rõ ràng được chỉ định trong truy vấn sẽ là thứ tự thực tế trong đó các mối quan hệ được tham gia. Người lập kèo bóng đá hôm nay và ngày mai không phải lúc nào cũng chọn tham gia tối ưu đặt hàng; Người dùng nâng cao có thể chọn tạm thời đặt cái này biến thành 1, sau đó chỉ định thứ tự tham gia mong muốn rõ ràng. Để biết thêm thông tin, xemPhần 14.3.