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

19.7. Lập kế tỷ lệ kèo bóng đá truy vấn#

19.7.1. Cấu hình phương thức kế tỷ lệ kèo bóng đá#

Các tham số cấu hình này cung cấp một phương pháp thô để ảnh hưởng đến các kế tỷ lệ kèo bóng đá truy vấn được chọn bởi trình tối ưu hóa truy vấn. Nếu gói 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 tối ưu, thìtạm thờiGiải pháp là sử dụng một trong các tham số cấu hình này để buộc trình tối ưu hóa chọn một gói khác. Những cách tốt hơn để cải thiện chất lượng của các kế tỷ lệ kèo bóng đá được chọn bởi trình tối ưu hóa bao gồm điều chỉnh các hằng số chi phí kế tỷ lệ kèo bóng đá (xemPhần 19.7.2), ChạyPhân tích11574_11615default_statistic_targetTham số cấu hình và tăng số lượng thống kê được thu thập cho tỷ lệ kèo bóng đá cột cụ thể bằng cách sử dụngThay đổi bảng thống kê.

enable_async_append(12077_12086) #

Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế tỷ lệ kèo bóng đá phụ lục ASYNC-ANCARE của Kế tỷ lệ kèo bóng đá truy vấn. Mặc định làtrên.

enable_bitmapscan(Boolean) #

cho phép hoặc vô hiệu hóa việc sử dụng các loại kế tỷ lệ kèo bóng đá Bitmap-Scan của Planner Truy vấn. Mặc định làtrên.

enable_gathermerge(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế tỷ lệ kèo bóng đá hợp nhất của kế tỷ lệ kèo bóng đá truy vấn. Mặc định làtrên.

enable_group_by_reordering(Boolean) #

13747_13818Nhóm bởiCác khóa được sắp xếp theo thứ tự các khóa của nút con của kế tỷ lệ kèo bóng đá, chẳng hạn như quét chỉ mục. Khi bị vô hiệu hóa, trình lập kế tỷ lệ kèo bóng đá truy vấn sẽ tạo ra một kế tỷ lệ kèo bóng đá vớiNhóm bởiPhím chỉ được sắp xếp để khớp vớiĐặt hàng bởi14102_14211trên.

enable_hashagg(Boolean) #

cho phép hoặc vô hiệu hóa việc sử dụng các loại kế tỷ lệ kèo bóng đá tổng hợp băm của người lập kế tỷ lệ kèo bóng đá truy vấn. 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ác loại kế tỷ lệ kèo bóng đá băm của người lập kế tỷ lệ kèo bóng đá truy vấn. Mặc định làtrên.

enable_incremental_sort(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng các bước sắp xếp gia tăng của kế tỷ lệ kèo bóng đá truy vấn. Mặc định làtrên.

enable_indexscan(Boolean) #

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

enable_indexonlyscan(Boolean) #

16612_16693Phần 11.9). Mặc định làtrên. Theenable_indexscanCài đặt cũng phải được bật để có trình lập kế tỷ lệ kèo bóng đá truy vấn xem xét các lần quét chỉ có chỉ mục.

enable_m vật liệu(Boolean) #

cho phép hoặc vô hiệu hóa việc sử dụng vật chất hóa của người lập kế tỷ lệ kèo bóng đá truy vấn. Không thể triệt tiêu hoàn toàn sự vật chất, nhưng việc biến biến này sẽ ngăn cản người lập kế tỷ lệ kèo bóng đá chèn các nút cụ thể trừ trong trường hợp cần thiết cho tính chính xác. Mặc định làtrên.

enable_memoize(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng các kế tỷ lệ kèo bóng đá ghi nhớ của người lập kế tỷ lệ kèo bóng đá truy vấn để lưu trữ kết quả từ các lần quét được tham số hóa bên trong các vòng lặp lồng nhau. Loại kế tỷ lệ kèo bóng đá này cho phép quét các kế tỷ lệ kèo bóng đá cơ bản được bỏ qua khi kết quả cho các tham số hiện tại đã có trong bộ đệm. Kết quả ít tìm thấy hơn có thể bị đuổi khỏi bộ đệm khi cần có nhiều không gian hơn cho các mục mới. Mặc định làtrên.

enable_mergejoin(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế tỷ lệ kèo bóng đá hợp nhất của kế tỷ lệ kèo bóng đá truy vấn. Mặc định làtrên.

enable_nestloop(Boolean) #

cho phép hoặc vô hiệu hóa việc sử dụng các kế tỷ lệ kèo bóng đá tham gia vòng lặp lồng nhau của người lập kế tỷ lệ kèo bóng đá. Không thể ngăn chặn hoàn toàn các vòng lặp lồng nhau, nhưng biến biến này không khuyến khích người lập kế tỷ lệ kèo bóng đá sử dụng một nếu có các phương pháp khác có sẵn. Mặc định làtrên.

enable_parallel_append(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế tỷ lệ kèo bóng đá phụ lục nhận biết song song. Mặc định làtrên.

enable_parallel_hash(Boolean) #

20324_20484trên.

enable_partition_pruning(Boolean) #

20872_21151trên. Nhìn thấyPhần 5.12.421315_21330

enable_partitionwise_join(Boolean) #

21689_22130work_memXuất hiện trong kế tỷ lệ kèo bóng đá cuối cùng có thể tăng tuyến tính theo số lượng phân vùng được quét. Điều này có thể dẫn đến sự gia tăng lớn trong tiêu thụ bộ nhớ tổng thể trong quá trình thực hiện truy vấn. Lập kế tỷ lệ kèo bóng đá truy vấn cũng trở nên đắt hơn đáng kể về bộ nhớ và CPU. Giá trị mặc định làTẮT.

enable_partitionwise_aggregate(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng nhóm hoặc tập hợp phân vùng của Kế tỷ lệ kèo bóng đá truy vấn, cho phép nhóm hoặc tập hợp trên các bảng được phân vùng được thực hiện riêng cho từng phân vùng. NếuNhóm bởimệnh đề không bao gồm tỷ lệ kèo bóng đá khóa phân vùng, chỉ có thể thực hiện tập hợp một phần trên cơ sở mỗi phần và phải hoàn thiện phải được thực hiện sau. Với cài đặt này được bật, số lượng nút mà việc sử dụng bộ nhớ bị hạn chế bởiwork_mem23396_23709TẮT.

enable_presorted_aggregate(Boolean) #

24104_24238Đặt hàng bởi / khác biệtHàm tổng hợp. Khi bị vô hiệu hóa, trình lập kế tỷ lệ kèo bóng đá truy vấn sẽ tạo ra một kế tỷ lệ kèo bóng đá sẽ luôn yêu cầu người thực thi thực hiện một loại trước khi thực hiện tập hợp của từng hàm tổng hợp có chứaĐặt hàng bởihoặckhác biệtmệnh đề. Khi được bật, người lập kế tỷ lệ kèo bóng đá sẽ cố gắng tạo ra một kế tỷ lệ kèo bóng đá hiệu quả hơn, cung cấp đầu vào cho các chức năng tổng hợp được ban hành theo thứ tự mà chúng yêu cầu để tổng hợp. Giá trị mặc định làtrên.

enable_seqscan(Boolean) #

25246_25501trên.

enable_sort(Boolean) #

25850_26096trên.

enable_tidscan(Boolean) #

cho phép hoặc vô hiệu hóa việc sử dụng trình lập kế tỷ lệ kèo bóng đá truy vấntidCác loại kế tỷ lệ kèo bóng đá quét. Mặc định làtrên.

19.7.2. Hằng số chi phí kế tỷ lệ kèo bóng đá#

Thechi phíCác biến được mô tả trong phần này được đo trên thang điểm tùy ý. Chỉ có giá trị tương đối của chúng quan trọng, do đó việc mở rộng tất cả chúng lên hoặc giảm theo cùng một yếu tố sẽ không dẫn đến thay đổi trong lựa chọn của người lập kế tỷ lệ kèo bóng đá. Theo mặc định, các biến chi phí này dựa trên chi phí tìm nạp trang tuần tự; đó là,SEQ_PAGE_COSTđược đặt thành thông thường1.0Và tỷ lệ kèo bóng đá biến chi phí khác được đặt với tham chiếu đến đó. Nhưng bạn có thể sử dụng một thang đo 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 được xác định rõ ràng để xác định các 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ộ hỗn hợp các tỷ lệ kèo bóng đá mà một cài đặt cụ thể sẽ nhận được. Điều này có nghĩa là việc thay đổi chúng trên cơ sở chỉ một vài thí nghiệm là rất rủi ro.

SEQ_PAGE_COST(Điểm nổi) #

Đặt ước tính của người lập kế tỷ lệ kèo bóng đá về chi phí của một trang Disk Fetch là một phần của một loạt các lần tìm kiếm tuần tự. Mặc định là 1.0. Giá trị này có thể được ghi đè cho các bảng và chỉ mục trong một không gian bảng cụ thể bằng cách đặt tham số không gian bảng cùng tên (xemthay đổi không gian bảng).

ngẫu nhiên_page_cost(Điểm nổi) #

Đặt ước tính của người lập kế tỷ lệ kèo bóng đá về chi phí của một trang đĩa không được tìm hiểu. Mặc định là 4.0. Giá trị này có thể được ghi đè cho các bảng và chỉ mục trong một không gian bảng cụ thể bằng cách đặt tham số không gian bảng cùng tên (xemthay đổi không gian bảng).

Giảm giá trị này liên quan đếnSEQ_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ố trông tương đối đắt hơn. Bạn có thể tăng hoặc hạ cả hai giá trị lại với nhau để thay đổi tầm quan trọng của chi phí I/O của đĩa liên quan đến chi phí CPU, được mô tả bởi tỷ lệ kèo bóng đá tham số sau.

tỷ lệ kèo bóng đá cập ngẫu nhiên vào lưu trữ đĩa cơ thông thường đắt hơn nhiều so với tỷ lệ kèo bóng đá cập tuần tự bốn lần. Tuy nhiên, mặc định thấp hơn được sử dụng (4.0) vì phần lớn các quyền tỷ lệ kèo bóng đá cập ngẫu nhiên vào đĩa, chẳng hạn như đọc được lập chỉ mục, được coi là có trong bộ đệm. Giá trị mặc định có thể được coi là mô hình hóa tỷ lệ kèo bóng đá cập ngẫu nhiên chậm hơn 40 lần so với tuần tự, trong khi dự kiến ​​90% số lần đọc ngẫu nhiên sẽ được lưu trữ.

30215_307341.1.

TIP

Mặc dù hệ thống sẽ cho phép bạn đặtngẫu nhiên_page_costđến nhỏ hơnSEQ_PAGE_COST, Không hợp lý về mặt vật lý để làm như vậy. Tuy nhiên, việc thiết lập chúng bằng nhau có ý nghĩa nếu cơ sở dữ liệu hoàn toàn được lưu trong bộ đệm trong RAM, vì trong trường hợp đó không có hình phạt cho việc chạm vào tỷ lệ kèo bóng đá trang ra khỏi chuỗi. Ngoài ra, trong một cơ sở dữ liệu được lưu trữ nặng, bạn nên giảm cả hai giá trị so với tỷ lệ kèo bóng đá tham số CPU, vì chi phí tìm nạp một trang đã có trong RAM nhỏ hơn nhiều so với bình thường.

cpu_tuple_cost(Điểm nổi) #

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

cpu_index_tuple_cost(Điểm nổi) #

32177_32293

CPU_OPERATOR_COST(Điểm nổi) #

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

32861_32882(Điểm nổi) #

Đặt ước tính của người lập kế tỷ lệ kèo bóng đá về chi phí khởi động các quy trình công nhân song song. Mặc định là 1000.

song song_tuple_cost33335_33339Điểm nổi) #

Đặt ước tính của người lập kế tỷ lệ kèo bóng đá về chi phí chuyển một tuple từ quy trình công nhân song song sang quy trình khác. Mặc định là 0,1.

MIN_PARALLED_TABLE_SCAN_SIZE(Số nguyên) #

Đặt lượng dữ liệu bảng tối thiểu phải được quét để xem xét quét song song. Đối với quét tuần tự song song, lượng dữ liệu bảng được quét luôn bằng kích thước của bảng, nhưng khi tỷ lệ kèo bóng đá chỉ mục được sử dụng, lượng dữ liệu bảng được quét thường sẽ ít hơn. Nếu giá trị này được chỉ định mà không có đơn vị, nó được lấy làm khối, đó làBLCKSZbyte, thường là 8kb. Mặc định là 8 megabyte (8MB).

(Số nguyên) #

Đặt số lượng dữ liệu chỉ mục tối thiểu phải được quét để xem xét quét song song. Lưu ý rằng quét chỉ mục song song thường sẽ không chạm vào toàn bộ chỉ mục; Đó là số lượng các trang mà người lập kế tỷ lệ kèo bóng đá tin rằng sẽ thực sự được chạm vào bằng cách quét có liên quan. Tham số này cũng được sử dụng để quyết định xem một chỉ mục cụ thể có thể tham gia vào một khoảng trống song song hay không. Nhìn thấyNút hút. Nếu giá trị này được chỉ định mà không có đơn vị, nó được lấy làm khối, đó làBLCKSZByte, thường là 8kb. Mặc định là 512 kilobyte (512KB).

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

Đặt giả định của người lập kế tỷ lệ kèo bóng đá về kích thước hiệu quả của bộ đệm đĩa có sẵn cho một truy vấn duy nhất. Điều này được đưa vào ước tính chi phí sử dụng chỉ số; Giá trị cao hơn làm cho nhiều khả năng quét chỉ mục sẽ được sử dụng, giá trị thấp hơn khiến cho nhiều khả năng quét tuần tự sẽ được sử dụng. Khi đặt tham số này, bạn nên xem xét cả haiPostgreSQLbộ đệm được chia sẻ và phần bộ đệm đĩa của hạt nhân sẽ được sử dụng choPostgreSQL36475_36744PostgreSQL36785_37022BLCKSZByte, thường là 8kb. Mặc định là 4 gigabyte (4GB). (Nếu nhưBLCKSZkhông phải là 8kb, tỷ lệ giá trị mặc định theo tỷ lệ theo nó.)

jit_above_cost(Điểm nổi) #

Đặt chi phí tỷ lệ kèo bóng đá trên đó biên dịch JIT được kích hoạt, nếu được bật (xemChương 30). Thực hiệnJIT37815_37890-1Vô hiệu hóa tổng hợp JIT. Mặc định là100000.

jit_inline_above_cost(Điểm nổi) #

Đặt chi phí truy vấn trên đó, việc biên dịch JIT cố gắng các hàm và toán tử nội tuyến. Nối thêm thời gian lập kế tỷ lệ kèo bóng đá, nhưng có thể cải thiện tốc độ thực hiện. Nó không có ý nghĩa để đặt cái này thành ít hơnjit_above_cost. Đặt cái này thành-1Vô hiệu hóa nội tuyến. Mặc định là500000.

jit_optimize_above_cost(Điểm nổi) #

Đặt chi phí truy vấn trên đó tổng hợp JIT áp dụng tối ưu hóa đắt tiền. Tối ưu hóa như vậy thêm thời gian lập kế tỷ lệ kèo bóng đá, nhưng có thể cải thiện tốc độ thực hiện. Nó không có ý nghĩa để đặt cái này thành ít hơnjit_above_cost, và không có khả năng có lợi khi đặt nó thành nhiều hơnjit_inline_above_cost. Đặt cái này thành-1Vô số tối ưu hóa đắt tiền. Mặc định là500000.

19.7.3. Trình tối ưu hóa tỷ lệ kèo bóng đá di truyền#

Trình tối ưu hóa truy vấn di truyền (GEQO) là một thuật toán thực hiện lập kế tỷ lệ kèo bóng đá truy vấn bằng cách tìm kiếm heuristic. Điều này làm giảm thời gian lập kế tỷ lệ kèo bóng đá cho các truy vấn phức tạp (những người tham gia nhiều mối quan hệ), với chi phí sản xuất các kế tỷ lệ kèo bóng đá đôi khi kém hơn so với các kế tỷ lệ kèo bóng đá tìm kiếm toàn diện thông thường. Để biết thêm thông tin, xemChương 60.

geqo(Boolean) #

cho phép hoặc vô hiệu hóa tối ưu hóa tỷ lệ kèo bóng đá di truyền. Đây là trên mặc định. Nó thường là tốt nhất để không tắt nó trong sản xuất; Thegeqo_thresholdBiến cung cấp điều khiển chi tiết hơn của GEQO.

geqo_threshold(Số nguyên) #

Sử dụng tối ưu hóa truy vấn di truyền để lập kế tỷ lệ kèo bóng đá truy vấn với ít nhất nhiều nàytừtỷ lệ kèo bóng đá mục liên quan. (Lưu ý rằng ATham gia đầy đủ bên ngoàiXây dựng chỉ có mộttừMục.) Mặc định là 12. Đối với các truy vấn đơn giản hơn, thường tốt nhất là sử dụng kế tỷ lệ kèo bóng đá tìm kiếm toàn diện, thường xuyên, nhưng đối với các truy vấn có nhiều bảng, tìm kiếm toàn diện mất quá nhiều thời gian, thường dài hơn so với hình phạt thực hiện kế tỷ lệ kèo bóng đá dưới mức. Do đó, một ngưỡng về kích thước của truy vấn là một cách thuận tiện để quản lý việc sử dụng geqo.

geqo_effort(Số nguyên) #

Kiểm soát sự đánh đổi giữa thời gian lập kế tỷ lệ kèo bóng đá và chất lượng kế tỷ lệ kèo bóng đá truy vấn 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. Các giá trị lớn hơn làm tăng thời gian thực hiện lập kế tỷ lệ kèo bóng đá truy vấn, nhưng cũng tăng khả năng một kế tỷ lệ kèo bóng đá truy vấn 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 tỷ lệ kèo bóng đá giá trị mặc định cho tỷ lệ kèo bóng đá biến khác có ảnh hưởng đến hành vi GEQO (được mô tả bên dưới). Nếu bạn thích, bạn có thể đặt tỷ lệ kèo bóng đá tham số khác bằng tay.

geqo_pool_size(Số nguyên) #

Kiểm soát kích thước nhóm được Geqo sử dụng, đó là số lượng cá thể trong quần thể di tỷ lệ kèo bóng đáề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 giá trị phù hợp được chọn dựa trêngeqo_effortvà số lượng bảng trong tỷ lệ kèo bóng đá.

geqo_generations(Số nguyên) #

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

geqo_selection_bias(Điểm nổi) #

Kiểm soát sai lệch lựa chọn được sử dụng bởi GEQO. Sự thiên vị 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.

geqo_seed(Điểm nổi) #

Điều khiển giá trị ban đầu của trình tạo số ngẫu nhiên được GEQO sử dụng để chọn tỷ lệ kèo bóng đá đường dẫn ngẫu nhiên thông qua không gian tìm kiếm thứ tự tham gia. Giá trị có thể nằm trong khoảng từ 0 (mặc định) đến một. Thay đổi giá trị thay đổi tập hợp tỷ lệ kèo bóng đá đường dẫn nối được khám phá và có thể dẫn đến một đường dẫn tốt hơn tốt hơn hoặc tệ hơn được tìm thấy.

19.7.4. Các tùy chọn kế tỷ lệ kèo bóng đá khác#

default_statistic_target(Số nguyên) #

Đặt mục tiêu thống kê mặc định cho tỷ lệ kèo bóng đá cột bảng không có mục tiêu cụ thể theo 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ế tỷ lệ kèo bóng đá. Mặc định là 100. Để biết thêm thông tin về việc sử dụng số liệu thống kê củaPostgreSQLTruy vấn kế tỷ lệ kèo bóng đá, tham khảoPhần 14.2.

(enum) #

Kiểm soát việc sử dụng các ràng buộc bảng của người lập kế tỷ lệ kèo bóng đá truy vấn để tối ưu hóa các truy vấn. Các giá trị được phép củaurdaint_exclusiontrên(Kiểm tra tỷ lệ kèo bóng đá ràng buộc cho tất cả tỷ lệ kèo bóng đá bảng),TẮT(không bao giờ kiểm tra tỷ lệ kèo bóng đá ràng buộc) vàphân vùng(Kiểm tra tỷ lệ kèo bóng đá ràng buộc chỉ cho tỷ lệ kèo bóng đá bảng con kế thừa vàLiên minh tất cảSubqueries).Phân vùnglà cài đặt mặc định. Nó thường được sử dụng với cây kế thừa tỷ lệ kèo bóng đáền thống để cải thiện hiệu suất.

Khi tham số này cho phép nó cho một bảng cụ thể, trình lập kế tỷ lệ kèo bóng đá so sánh các điều kiện truy vấn với bảngKiểm tratỷ lệ kèo bóng đá ràng buộc và bỏ qua tỷ lệ kèo bóng đá bảng quét trong đó tỷ lệ kèo bóng đá điều kiện mâu thuẫn với tỷ lệ kèo bóng đá ràng buộc. 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;

48126_48168Chọnsẽ không quétChild1000Tất cả, cải thiện hiệu suất.

Hiện tại, loại trừ ràng buộc chỉ được bật theo mặc định cho các trường hợp thường được sử dụng để thực hiện phân vùng bảng thông qua các cây kế thừa. Bật nó lên cho tất cả các bảng áp đặt thêm chi phí lập kế tỷ lệ kèo bóng đá khá đáng chú ý trên các truy vấn đơn giản và hầu hết sẽ không mang lại lợi ích cho các truy vấn đơn giản. Nếu bạn không có bảng được phân vùng bằng cách sử dụng kế thừa truyền thống, bạn có thể muốn tắt nó hoàn toàn. (Lưu ý rằng tính năng tương đương cho các bảng được phân vùng được điều khiển bởi một tham số riêng biệt,enable_partition_pruning.)

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

cursor_tuple_fraction(Điểm nổi) #

Đặt ước tính của người lập kế tỷ lệ kèo bóng đá về tỷ lệ các hàng của con trỏ sẽ được truy xuất. Mặc định là 0,1. Các giá trị nhỏ hơn của cài đặt này Xu hướng người lập kế tỷ lệ kèo bóng đá đối với việc sử dụngBắt đầu nhanhKế tỷ lệ kèo bóng đá cho con trỏ, sẽ truy xuất một vài hàng đầu tiên một cách nhanh chóng trong khi có lẽ mất một thời gian dài để lấy tất cả các hàng. Giá trị lớn hơn đặt trọng tâm hơn vào tổng thời gian ước tính. Ở cài đặt tối đa là 1.0, con trỏ được lên kế tỷ lệ kèo bóng đá chính xác giống như các truy vấn thông thường, chỉ xem xét tổng thời gian ước tính và không bao lâu các hàng đầu tiên có thể được phân phối.

from_collapse_limit(Số nguyên) #

Người lập kế tỷ lệ kèo bóng đá 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ục này. Các giá trị nhỏ hơn làm giảm thời gian lập kế tỷ lệ kèo bóng đá nhưng có thể mang lại các kế tỷ lệ kèo bóng đá truy vấn kém hơn. Mặc định là tám. Để biết thêm thông tin, xemPhần 14.3.

Đặt giá trị này thànhgeqo_thresholdhoặc nhiều hơn có thể kích hoạt việc sử dụng kế tỷ lệ kèo bóng đá GEQO, dẫn đến các kế tỷ lệ kèo bóng đá không tối ưu. Nhìn thấyPhần 19.7.3.

JIT(Boolean) #

Xác định xemJITbiên dịch có thể được sử dụng bởiPOSTGRESQL, nếu có (xemChương 30). Mặc định làtrên.

tham gia_collapse_limit(Số nguyên) #

Người lập kế tỷ lệ kèo bóng đá 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 nhiều mục này sẽ dẫn đến. Các giá trị nhỏ hơn làm giảm thời gian lập kế tỷ lệ kèo bóng đá nhưng có thể mang lại các kế tỷ lệ kèo bóng đá truy vấn kém hơn.

Theo mặc định, biến này được đặt giống nhưfrom_collapse_limit, phù hợp với hầu hết tỷ lệ kèo bóng đá 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 gia52740_53076Phần 14.3.

Đặt giá trị này thànhgeqo_threshold53335_53419Phần 19.7.3.

plan_cache_mode(enum) #

Các câu lệnh được chuẩn bị (có thể được chuẩn bị rõ ràng hoặc được tạo ra, ví dụ như PL/PGSQL) có thể được thực thi bằng các gói tùy chỉnh hoặc chung. Các gói tùy chỉnh được thực hiện một lần nữa cho mỗi lần thực thi bằng cách sử dụng tập hợp các giá trị tham số cụ thể của nó, trong khi các gói chung không dựa vào các giá trị tham số và có thể được sử dụng lại trên các thực thi. Do đó, việc sử dụng một kế tỷ lệ kèo bóng đá chung sẽ tiết kiệm thời gian lập kế tỷ lệ kèo bóng đá, nhưng nếu kế tỷ lệ kèo bóng đá lý tưởng phụ thuộc mạnh vào các giá trị tham số thì một kế tỷ lệ kèo bóng đá chung có thể không hiệu quả. Lựa chọn giữa các tùy chọn này thường được thực hiện tự động, nhưng nó có thể được ghi đè vớiplan_cache_mode. tỷ lệ kèo bóng đá giá trị được phép làAuto(mặc định),Force_Custom_PlanForce_Generic_Plan. Cài đặt này được xem xét khi một kế tỷ lệ kèo bóng đá được lưu trữ được thực hiện, không phải khi nó được chuẩn bị. Để biết thêm thông tin, xemChuẩn bị.

Recursive_worktable_factor(Điểm nổi) #

Đặt ước tính của người lập kế tỷ lệ kèo bóng đá về kích thước trung bình của bảng làm việc của Atỷ lệ kèo bóng đá đệ quy, như là một bội số của kích thước ước tính của thuật ngữ không nhận được ban đầu của truy vấn. Điều này giúp người lập kế tỷ lệ kèo bóng đá chọn phương pháp phù hợp nhất để tham gia bảng làm việc vào các bảng khác của truy vấn. Giá trị mặc định là10.0. Một giá trị nhỏ hơn như1.0có thể hữu ích khi đệ quy có thấpfan-outTừ bước này sang bước khác, ví dụ như trong các tỷ lệ kèo bóng đá đường dẫn ngắn nhất. Các tỷ lệ kèo bóng đá phân tích đồ thị có thể được hưởng lợi từ các giá trị lớn hơn hàng hóa.

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 phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo tỷ lệ kèo bóng đá đề tài liệu.