Postgresql 9.1.24 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 18. Cấu hình máy chủ | NEXT |
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 đá pháp đượ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 tối ưu, Atạm thờiGiải pháp là sử dụng một 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ế kèo bóng đá pháp khác. Những cách tốt hơn để cải thiện chất lượng của Các kế kèo bóng đá pháp được lựa chọn bởi trình tối ưu hóa bao gồm điều chỉnh máy bay Hằng số chi phí (xemPhần 18.7.2), ChạyPhân tíchtheo cách 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 cho các cột cụ thể bằng cách sử dụngThay đổi bảng thống kê.
cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá pháp của Các loại kế hoạch quét bitmap. Mặc định làtrên.
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 đá pháp Các loại kế hoạch tổng hợp. Mặc định làtrên.
Cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá pháp của Các loại kế hoạch băm. Mặc định làtrên.
Cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá pháp của Các loại kế hoạch quét chỉ mục. Mặc định làtrên.
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 đá pháp vật chất hóa. Không thể đàn áp vật chất hóa hoàn toàn, nhưng tắt biến này ngăn chặn người lập kế hoạch chèn các nút thành hiện thực ngoại trừ trong trường hợp nó được yêu cầu cho sự đúng đắn. Các Mặc định làtrên.
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 đá pháp Hợp nhất các loại kế hoạch tham gia. Mặc định làtrên.
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 đá pháp Kế hoạch tham gia-LOOP. Không thể đàn áp vòng lặp lồng nhau 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.
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 đá pháp 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.
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 đá pháp 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.
Cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá phápTIDCác loại kế kèo bóng đá pháp quét. Mặc định làtrên.
Thechi phí15827_16153SEQ_PAGE_COSTđược đặt thành thông thường1.016252_16448
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 đá pháp mà một cài đặt cụ thể sẽ nhận được. Cái này có nghĩa là thay đổi chúng trên cơ sở chỉ một vài Các thí nghiệm rất rủi ro.
Đặt ước tính của người lập kế kèo bóng đá pháp về chi phí của một trang đĩa Tìm nạp đó là một phần của một loạt các lần tìm kiếm tuần tự. Các Mặc định là 1.0. Giá trị này có thể được ghi đè cho 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).
17730_17988PostgreSQL: Tài liệu: 9.1: thay).
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ố 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_COST, đó là Không hợp lý về thể chất để làm như vậy. Tuy nhiên, cài đặt chúng bằng nhau có ý nghĩa nếu cơ sở dữ liệu hoàn toàn được lưu trữ trong ram, vì trong trường hợp đó không có hình phạt để chạm vào các trang ra khỏi trình tự. Ngoài ra, trong a 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ì chi phí Tìm nạp một trang đã có trong RAM nhỏ hơn nhiều so với nó thường sẽ được.
Đặt ước tính của người lập kế kèo bóng đá pháp về chi phí xử lý mỗi hàng trong một truy vấn. Mặc định là 0,01.
Đặt ước tính của người lập kế kèo bóng đá pháp 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.
Đặt ước tính của người lập kế kèo bóng đá pháp 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.
Đặt giả định của người lập kế kèo bóng đá pháp 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ỉ mục; Một giá trị cao hơn làm cho nó nhiều khả năng quét chỉ mục sẽ được sử dụng, giá trị thấp hơn làm cho nó có nhiều khả năng Quét tuần tự sẽ được sử dụng. Khi đặt cái này tham số bạn nên xem xét cả haiPostgreSQLbộ đệm được chia sẻ và một phần bộ nhớ cache đĩa của kernel sẽ được sử dụng choPostgreSQL21220_21484PostgreSQL, cũng không bảo lưu bộ đệm đĩa kernel; Nó chỉ được sử dụng để ước tính mục đích. Hệ thống cũng không giả sử dữ liệu vẫn còn Bộ đệm đĩa giữa các kèo bóng đá pháp. Mặc định là 128 megabyte (128MB).
22021_22367Chương 51.
cho phép hoặc vô hiệu hóa tối ưu hóa kèo bóng đá pháp di truyền. Cái này được mặc định. Nó thường là tốt nhất là không tắt nó đi trong sản xuất; Thegeqo_thresholdBiến cung cấp nhiều hơn Kiểm soát hạt của Geqo.
23077_23160từMục có liên quan. (Lưu ý rằng ABên ngoài đầy đủ THAM GIAXây dựng chỉ có một23338_2334423347_23740
Kiểm soát sự đánh đổi giữa thời gian lập kế hoạch và truy vấn Kế hoạch chất lượng 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. Lớn hơn giá trị tăng thời gian thực hiện lập kèo bóng đá pháp, nhưng cũng tăng khả năng một kèo bóng đá pháp 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.
Điều khiển kích thước nhóm được sử dụng bởi GEQO, đó là Số lượng cá nhân trong quần thể di kèo bóng đá phápền. Nó phải ít nhất là 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 kèo bóng đá pháp.
Điều khiển 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 hồ bơi. Nếu nó được đặt thành 0 (cài đặt mặc định) sau đó một giá trị phù hợp được chọn dựa trêngeqo_pool_size.
Kiểm soát sai lệch lựa chọn được sử dụng bởi GEQO. 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.
Điều khiển giá trị ban đầu của số ngẫu nhiên Trình tạo được sử dụng bởi GEQO để chọn các đường dẫn ngẫu nhiên thông qua Tham gia không gian tìm kiếm đơn hàng. Giá trị có thể dao động từ 0 (mặc định) cho một. Thay đổi giá trị thay đổi tập hợp các đường dẫn tham gia được khám phá, và có thể dẫn đến một hoặc con đường tốt nhất được tìm thấy.
Đặt mục tiêu thống kê mặc định cho các cột bảng không có mục tiêu cụ thể của cột đượ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 đá pháp. 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ế kèo bóng đá pháp, tham khảoPhần 14.2.
Kiểm soát việc sử dụng các ràng buộc bảng của người lập kèo bóng đá pháp Để tối ưu hóa các truy vấn. Các giá trị được phép củalàtrên(kiểm tra các ràng buộc cho 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 chỉ cho các bảng con kế thừa vàLiên minh tất cảSubqueries).phân vùnglà mặc định cài đặt. Nó thường được sử dụng với thừa kế và Các bảng được phân vù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ể, Người lập kế kèo bóng đá pháp 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 sự loại trừ ràng buộc, điều nàyChọ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 được bật theo mặc định Chỉ dành cho các trường hợp thường được sử dụng để thực hiện bảng phân vùng. Bật nó lên cho tất cả các bảng áp đặt thêm Lập kế kèo bóng đá pháp chi phí khá đáng chú ý trên đơn giản truy vấn và thường xuyên nhất sẽ không mang lại lợi ích cho đơn giản Truy vấn. Nếu bạn không có bảng phân vùng, bạn có thể thích tắt nó hoàn toàn.
Tham khảoPhần 5.9.4Để biết thêm thông tin về việc sử dụng Bị ràng buộc loại trừ và phân vùng.
Đặt ước tính của người lập kế kèo bóng đá pháp về tỷ lệ của A 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 thiên vị người lập kế kèo bóng đá pháp hướng tới sử dụng"Bắt đầu nhanh"Kế kèo bóng đá pháp cho con trỏ, sẽ nhanh chóng lấy lại một vài hàng đầu tiên Trong khi có lẽ mất một thời gian dài để lấy tất cả các hàng. Các giá trị lớn hơn nhấn mạnh hơn vào tổng số ước tính thời gian. Ở cài đặt tối đa 1.0, con trỏ được lên kế kèo bóng đá pháp Chính xác như các truy vấn thông thường, chỉ xem xét tổng số thời gian ước tính và không bao lâu các hàng đầu tiên có thể đã giao hàng.
Người lập kế kèo bóng đá pháp 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ừ31424_31624Phầ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ế kèo bóng đá pháp GEQO, dẫn đến kế kèo bóng đá pháp không tối ưu. Nhìn thấyPhần 18.7.3.
Người lập kế kèo bóng đá pháp 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 đá pháp 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 gia32859_33265Phầ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ế kèo bóng đá pháp GEQO, dẫn đến kế kèo bóng đá pháp không tối ưu. Nhìn thấyPhần 18.7.3.