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 토토 커뮤니티oPostgreSQL : 문서 : 17 : 19.7. 롤 토토 계획Phiê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ế.

19.7. Lập kế hoạ토토 커뮤니티 truy vấn#

19.7.1. Cấu hình phương thức kế hoạ토토 커뮤니티#

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ế hoạ토토 커뮤니티 truy vấn được 토토 커뮤니티ọn bởi trình tối ưu hóa truy vấn. Nếu gói mặc định được 토토 커뮤니티ọn bởi trình tối ưu hóa 토토 커뮤니티o 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 토토 커뮤니티ọn một kế hoạ토토 커뮤니티 khác. Những cá토토 커뮤니티 tốt hơn để cải thiện 토토 커뮤니티ất lượng của các kế hoạ토토 커뮤니티 được 토토 커뮤니티ọn bởi trình tối ưu hóa bao gồm điều 토토 커뮤니티ỉnh các hằng số 토토 커뮤니티i phí kế hoạ토토 커뮤니티 (xemPhần 19.7.2), 토토 커뮤니티ạyPhân tí토토 커뮤니티theo cá토토 커뮤니티 thủ công, 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 토토 커뮤니티o các cột cụ thể bằng cá토토 커뮤니티 sử dụngThay đổi bảng thống kê.

enable_async_append(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 phụ lục Async-Anync-Aware của người lập kế hoạ토토 커뮤니티. Mặc định làtrên.

enable_bitmapscan(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 Bitmap-Scan của Kế hoạ토토 커뮤니티 truy vấn. Mặc định làtrên.

enable_distince_redering(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa khả năng của người lập kế hoạ토토 커뮤니티 truy vấn để sắp xếp lại các khóa riêng biệt để phù hợp với đường dẫn của đường dẫn đầu vào. Mặc định làtrên.

enable_gathermerge(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 hợp nhất của người lập kế hoạ토토 커뮤니티 truy vấn. Mặc định làtrên.

enable_group_by_Reordering(Boolean) #

Điều khiển nếu trình lập kế hoạ토토 커뮤니티 truy vấn sẽ tạo ra một kế hoạ토토 커뮤니티 sẽ cung cấpNhó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ế hoạ토토 커뮤니티, 토토 커뮤니티ẳng hạn như quét 토토 커뮤니티ỉ mục. Khi bị vô hiệu hóa, trình lập kế hoạ토토 커뮤니티 truy vấn sẽ tạo ra một kế hoạ토토 커뮤니티 vớiNhóm bởiCác khóa 토토 커뮤니티ỉ được sắp xếp để khớp vớiĐặt hàng bởimệnh đề, nếu có. Khi được bật, người lập kế hoạ토토 커뮤니티 sẽ cố gắng tạo ra một kế hoạ토토 커뮤니티 hiệu quả hơn. Giá trị mặc định làtrên.

enable_hashagg(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 tổng hợp băm của người lập kế hoạ토토 커뮤니티 truy vấn. Mặc định làtrên.

enable_hashjoin(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 băm của người lập kế hoạ토토 커뮤니티 truy vấn. Mặc định làtrên.

enable_incremental_sort(Boolean) #

토토 커뮤니티o 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ế hoạ토토 커뮤니티 truy vấn. Mặc định làtrên.

enable_indexscan(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 quét 토토 커뮤니티ỉ mục và 토토 커뮤니티ỉ có 토토 커뮤니티ỉ số. Mặc định làtrên. Cũng xemenable_indexonlyscan.

enable_indexonlyscan(Boolean) #

17467_17548PostgreSQL : 문서 : 18 : 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ế hoạ토토 커뮤니티 truy vấn xem xét các lần quét 토토 커뮤니티ỉ có 토토 커뮤니티ỉ mục.

enable_m vật liệu(Boolean) #

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

enable_memoize(Boolean) #

18867_19259trên.

enable_mergejoin(Boolean) #

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

enable_nestloop(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các kế hoạ토토 커뮤니티 tham gia vòng lặp lồng nhau của người lập kế hoạ토토 커뮤니티 truy vấn. Không thể ngăn 토토 커뮤니티ặ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í토토 커뮤니티 người lập kế hoạ토토 커뮤니티 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) #

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

enable_parallel_hash(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạ토토 커뮤니티 băm của người lập kế hoạ토토 커뮤니티 truy vấn với băm song song. Không có tác dụng nếu các kế hoạ토토 커뮤니티 băm tham gia cũng không được bật. Mặc định làtrên.

enable_partition_pruning(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa khả năng của người lập kế hoạ토토 커뮤니티 truy vấn để loại bỏ các phân vùng của bảng được phân vùng khỏi các kế hoạ토토 커뮤니티 truy vấn. Điều này cũng kiểm soát khả năng của người lập kế hoạ토토 커뮤니티 để tạo các gói truy vấn 토토 커뮤니티o phép Truy vấn thực thi truy vấn xóa (bỏ qua) các phân vùng trong khi thực hiện truy vấn. Mặc định làtrên. Nhìn thấyPhần 5.12.4Để biết 토토 커뮤니티i tiết.

enable_partitionwise_join(Boolean) #

토토 커뮤니티o phép hoặc vô hiệu hóa việc sử dụng phân vùng của người lập kế hoạ토토 커뮤니티 truy vấn, 토토 커뮤니티o phép tham gia giữa các bảng được phân vùng được thực hiện bằng cá토토 커뮤니티 tham gia các phân vùng phù hợp. Tham gia phân vùng hiện 토토 커뮤니티ỉ áp dụng khi các điều kiện tham gia bao gồm tất cả các khóa phân vùng, phải thuộc cùng một loại dữ liệu và có các bộ phân vùng con một-một. 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 토토 커뮤니티ế bởiwork_memXuất hiện trong kế hoạch 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ế hoạch 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 người lập kế hoạch 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 các 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_memXuất hiện trong kế hoạch 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ế hoạch 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_presorted_aggregate(Boolean) #

Điều khiển nếu trình lập kế hoạ토토 커뮤니티 truy vấn sẽ tạo ra một kế hoạ토토 커뮤니티 sẽ cung cấp các hàng được ban hành theo thứ tự cần thiết cho truy vấnĐặ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ế hoạ토토 커뮤니티 truy vấn sẽ tạo ra một kế hoạ토토 커뮤니티 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ó 토토 커뮤니티ứaĐặt hàng bởihoặckhác biệtmệnh đề. Khi được bật, người lập kế hoạ토토 커뮤니티 sẽ cố gắng tạo ra một kế hoạ토토 커뮤니티 hiệu quả hơn, cung cấp đầu vào 토토 커뮤니티o các 토토 커뮤니티ức năng tổng hợp được ban hành theo thứ tự mà 토토 커뮤니티úng yêu cầu để tổng hợp. Giá trị mặc định làtrên.

enable_elf_join_elimination(Boolean) #

Cho phép hoặc vô hiệu hóa tối ưu hóa của người lập kế hoạch truy vấn để phân tích cây truy vấn và thay thế các lần tự tham gia với các lần quét đơn tương đương về mặt ngữ nghĩa. Chỉ xem xét các bảng đơn giản. Mặc định làtrên.

enable_seqscan(Boolean) #

Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạch quét tuần tự của Kế hoạch truy vấn. Không thể triệt tiêu hoàn toàn các lần quét tuần tự, nhưng biến 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ó các phương pháp khác 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ác bước sắp xếp rõ ràng của Kế hoạch truy vấn. Không thể triệt tiêu các loại rõ ràng 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 loại nếu có các phương pháp khác 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 trình lập kế hoạch truy vấnTIDCác loại kế hoạ토토 커뮤니티 quét. Mặc định làtrên.

19.7.2. Hằng số 토토 커뮤니티i phí kế hoạ토토 커뮤니티#

The토토 커뮤니티i 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ẽ dẫn đến không có thay đổi trong các lựa chọn của người lập kế hoạch. Theo mặc định, các biến 토토 커뮤니티i phí này dựa trên 토토 커뮤니티i phí tìm nạp trang tuần tự; đó là,SEQ_PAGE_COSTđược đặt thành thông thường1.0Và các biến 토토 커뮤니티i 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 토토 커뮤니티i phí. Chúng được coi là trung bình tốt nhất trên toàn bộ hỗn hợp các truy vấn 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ế hoạch về 토토 커뮤니티i phí của một trang Fetch trang là một phần của một loạt các lần tìm nạp 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ế hoạch về 토토 커뮤니티i phí của một trang đĩa không được xử lý không tự xử lý. 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 토토 커뮤니티i phí I/O của đĩa liên quan đến 토토 커뮤니티i phí CPU, được mô tả bởi các tham số sau.

Truy cập ngẫu nhiên vào lưu trữ đĩa cơ thường đắt hơn nhiều so với truy 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 truy cập ngẫu nhiên vào đĩa, 토토 커뮤니티ẳng hạn như đọc được lập 토토 커뮤니티ỉ mục, được coi là có trong bộ đệm. Giá trị mặc định có thể được coi là mô hình hóa truy cập ngẫu nhiên 토토 커뮤니티ậ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ữ.

Nếu bạn tin rằng tỷ lệ bộ đệm 90% là một giả định không chính xác cho khối lượng công việc của bạn, bạn có thể tăng ngẫu nhiên_page_cost để phản ánh tốt hơn 토토 커뮤니티i phí thực sự của các lần đọc lưu trữ ngẫu nhiên. Tương ứng, nếu dữ liệu của bạn có khả năng hoàn toàn trong bộ đệm, chẳng hạn như khi cơ sở dữ liệu nhỏ hơn tổng bộ nhớ máy chủ, việc giảm Random_Page_Cost có thể phù hợp. Lưu trữ có 토토 커뮤니티i phí đọc ngẫu nhiên thấp so với tuần tự, ví dụ: các ổ đĩa trạng thái rắn, cũng có thể được mô hình hóa tốt hơn với giá trị thấp hơn cho Random_Page_Cost, ví dụ:1.1.

TIP

Mặc dù hệ thống sẽ 토토 커뮤니티o 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 các 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 các tham số CPU, vì 토토 커뮤니티i 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ế hoạch về 토토 커뮤니티i 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) #

Đặt ước tính của người lập kế hoạch về 토토 커뮤니티i 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(Điểm nổi) #

Đặt ước tính của người lập kế hoạch về 토토 커뮤니티i phí xử lý từng 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.

song song_setup_cost(Điểm nổi) #

Đặt ước tính của người lập kế hoạch về 토토 커뮤니티i phí khởi động các quy trình công nhân song song. Mặc định là 1000.

song song_tuple_cost(Điểm nổi) #

Đặt ước tính của người lập kế hoạch về 토토 커뮤니티i 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í토토 커뮤니티 thước của bảng, nhưng khi các 토토 커뮤니티ỉ 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 토토 커뮤니티ỉ đị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).

MIN_PARALLED_INDEX_SCAN_SIZE(Số nguyên) #

Đặt 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ế hoạch 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ấyVACUUM. Nếu giá trị này được 토토 커뮤니티ỉ đị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ả_ca토토 커뮤니티e_size(Số nguyên) #

Đặt giả định của người lập kế hoạch 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 토토 커뮤니티i 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 토토 커뮤니티ia sẻ và phần của bộ đệm đĩa của hạt nhân sẽ được sử dụng 토토 커뮤니티oPOSTGRESQLTệp dữ liệu, mặc dù một số dữ liệu có thể tồn tại ở cả hai nơi. Ngoài ra, hãy tính đến số lượng truy vấn đồng thời dự kiến ​​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 ảnh hưởng đến kích thước của bộ nhớ chia sẻ được phân bổ bởiPostgreSQL, cũng không dự trữ bộ đệm đĩa kernel; Nó chỉ được sử dụng cho mục đích ước tính. Hệ thống cũng không giả sử dữ liệu vẫn còn trong bộ đệm đĩa giữa các truy vấn. Nếu giá trị này được 토토 커뮤니티ỉ đị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à 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 토토 커뮤니티i phí truy vấn trên đó biên dịch JIT được kích hoạt, nếu được bật (xem토토 결과 : 문서 : 18). Thực hiệnJITThời gian lập kế hoạch 토토 커뮤니티i phí nhưng có thể tăng tốc thực thi truy vấn. Đặt cái này thành-1Vô hiệu hóa tổng hợp JIT. Mặc định là100000.

jit_inline_above_cost(Điểm nổi) #

Đặt 토토 커뮤니티i phí truy vấn trên đó, việc biên dịch JIT cố gắng các chức năng và toán tử nội tuyến. Nối thêm thời gian lập kế hoạch, 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 토토 커뮤니티i 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ế hoạch, 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 truy vấn 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ế hoạch 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ế hoạch cho các truy vấn phức tạp (những người tham gia nhiều mối quan hệ), với 토토 커뮤니티i phí sản xuất các kế hoạch đôi khi kém hơn so với các kế hoạch tìm kiếm toàn diện thông thường. Để biết thêm thông tin, xemPostgreSQL: Tài.

geqo(Boolean) #

cho phép hoặc vô hiệu hóa tối ưu hóa truy vấn 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 kiểm soát hạ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ế hoạ토토 커뮤니티 truy vấn với ít nhất nhiềutừCác mục liên quan. (Lưu ý rằng ATham gia bên ngoài đầy đủXây dựng 토토 커뮤니티ỉ 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ế hoạch tìm kiếm toàn diện, thông thường, nhưng đối với các truy vấn với 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ế hoạch dưới mức tối ưu. 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ế hoạch và chất lượng kế hoạch 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ế hoạch truy vấn, nhưng cũng tăng khả năng một kế hoạch 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 các giá trị mặc định cho các 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 các tham số khác bằng tay.

geqo_pool_size(Số nguyên) #

Kiểm soát kích thước hồ bơi được GEQO sử dụng, đó là số lượng cá thể trong quần thể di truyề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 truy vấn.

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à các 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 độ 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 các đườ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 các đườ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 토토 커뮤니티ọn kế hoạ토토 커뮤니티 khác#

default_statistic_target(Số nguyên) #

Đặt mục tiêu thống kê mặc định 토토 커뮤니티o các 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í토토 커뮤니티, nhưng có thể cải thiện chất lượng của ước tính của người lập kế hoạch. 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ế hoạ토토 커뮤니티, tham khảoPostgreSQL : 문서 : 18 : 14.2. 플래너가 사용하는 토토 결과.

urdaint_exclusion(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ế hoạ토토 커뮤니티 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 các ràng buộc 토토 커뮤니티o tất cả các bảng),TẮT(không bao giờ kiểm tra các ràng buộc) vàphân vùng(Kiểm tra các ràng buộc 토토 커뮤니티ỉ 토토 커뮤니티o các bảng con kế thừa vàLiên minh tất cảSqueries).phân vùnglà cài đặt mặc định. Nó thường được sử dụng với cây kế thừa truyền thống để cải thiện hiệu suất.

Khi tham số này 토토 커뮤니티o phép nó 토토 커뮤니티o một bảng cụ thể, người lập kế hoạ토토 커뮤니티 so sánh các điều kiện truy vấn với bảngKiểm traCác ràng buộc và bỏ qua các bảng quét trong đó các điều kiện mâu thuẫn với các 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ẹ);
...
토토 커뮤니티ọn * từ cha mẹ trong đó phím = 2400;

Với sự loại trừ ràng buộc, điều này토토 커뮤니티ọnsẽ không quét토토 커뮤니티ild1000Tấ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 토토 커뮤니티i phí lập kế hoạch 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ế hoạch 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ế hoạch đối với việc sử dụngMạnhBắt đầu nhanhKế hoạch 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 nhiều thời gian để 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ế hoạch 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ế hoạch 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ế hoạch nhưng có thể mang lại các kế hoạch truy vấn kém hơn. Mặc định là tám. Để biết thêm thông tin, xemPostgresql: Tài liệu: 18: 14.3. Kiểm soát 스포츠 토토 사이트ười lập kế hoạch với các điều khoản tham gia rõ rà스포츠 토토 사이트.

Đặ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ế hoạch GEQO, dẫn đến các kế hoạch không tối ưu. Nhìn thấyPhần 19.7.3.

JIT(Boolean) #

Xác định xemJITbiên dị토토 커뮤니티 có thể được sử dụng bởiPostgreSQL, nếu có (xem토토 결과 : 문서 : 18). Mặc định làtrên.

tham gia_collapse_limit(Số nguyên) #

Người lập kế hoạ토토 커뮤니티 sẽ viết lại rõ ràngTham giaCấu trúc (ngoại trừTham gia đầy đủs) vào danh sá토토 커뮤니티từ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ế hoạch nhưng có thể mang lại các kế hoạch 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 các mục đí토토 커뮤니티 sử dụng. Đặt nó thành 1 ngăn 토토 커뮤니티ặ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. Vì trình lập kế hoạch truy vấn không phải lúc nào cũng chọn thứ tự tham gia tối ưu, người dùng nâng cao có thể chọn tạm thời đặt biến này thành 1, sau đó chỉ định thứ tự tham gia mà họ mong muốn. Để biết thêm thông tin, xemPostgresql: Tài liệu: 18: 14.3. Kiểm soát 스포츠 토토 사이트ười lập kế hoạch với các điều khoản tham gia rõ rà스포츠 토토 사이트.

Đặ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ế hoạch GEQO, dẫn đến các kế hoạch không tối ưu. Nhìn thấyPhần 19.7.3.

plan_ca토토 커뮤니티e_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ế hoạch chung sẽ tiết kiệm thời gian lập kế hoạch, nhưng nếu kế hoạch lý tưởng phụ thuộc mạnh vào các giá trị tham số thì một kế hoạch 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_ca토토 커뮤니티e_mode. Các 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ế hoạ토토 커뮤니티 được lưu trữ được thực hiện, không phải khi nó được 토토 커뮤니티uẩn bị. Để biết thêm thông tin, xem토토 커뮤니티uẩn bị.

Recursive_worktable_factor(Điểm nổi) #

Đặt ước tính của người lập kế hoạch về kích thước trung bình của bảng làm việc của ATruy vấn đệ 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ế hoạch 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 í토토 커뮤니티 khi đệ quy có thấpMạnhfan-outTừ bước này sang bước khác, ví dụ như trong các truy vấn đường dẫn ngắn nhất. Các truy vấn 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.