Postgresql 8.2.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 17. Cấu hình máy chủ | 9665_9679 | 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 đá euro đượ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 đá euro 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ê.
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 đá euro 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 đá euro Các loại kế hoạch tổng hợp. Mặc định làtrên.
12188_12284trên.
Cho phép hoặc vô hiệu hóa việc sử dụng trình lập kèo bóng đá euro 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 trình lập kèo bóng đá euro của 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 đá euro 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 trình lập kèo bóng đá euro 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.
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 đá euro 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 của người lập kèo bóng đá euroTIDCác loại kế kèo bóng đá euro quét. Mặc định làtrên.
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 đá euro 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 đá euro 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.
Đặt ước tính của người lập kế kèo bóng đá euro 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.
Đặt ước tính của người lập kế kèo bóng đá euro 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ơn17793_1780817811_18312
Đặt ước tính của người lập kế kèo bóng đá euro 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 đá euro 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 đá euro 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 đá euro 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 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 đá euro 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).
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 đá euro mà không cần tìm kiếm toàn diện. Đây là trên mặc định. Thegeqo_thresholdBiến cung cấp một cách chi tiết hơn để vô hiệu hóa geqo cho một số lớp nhất định của các kèo bóng đá euro.
Sử dụng tối ưu hóa truy vấn di truyền để lập kèo bóng đá euro 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ừMục.) Mặc định là 12. Để đơn giản hơn Các truy vấn thường tốt nhất là sử dụng tính xác định, người lập kế kèo bóng đá euro toàn diện, nhưng đối với các truy vấn với nhiều bảng Người lập kế kèo bóng đá euro xác định mất quá nhiều thời gian.
22444_22800
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. Kích thước hồ bơi là Số lượng cá nhân trong quần thể di kèo bóng đá euroề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 đá euro.
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.
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.
Đặ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 đá euro. 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 đá euro, tham khảoPhần 13.2.
cho phép hoặc vô hiệu hóa việc sử dụng bảng của người lập kèo bóng đá euro các ràng buộc để tối ưu hóa các truy vấn. Mặc định làTẮT.
Khi tham số này làtrên26280_26353Kiể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ọnsẽ không quétChild1000Tấ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ì nó có nguy cơ kết quả không chính xác nếu các kèo bóng đá euro được lưu trữ - nếu một ràng buộc bảng bị thay đổi hoặc bỏ, Kế hoạch được tạo trước đó bây giờ có thể sai và Không có cơ chế tích hợp để buộc lên kế hoạch lại. (Sự thiếu hụt này có thể sẽ được giải quyết trong tương laiPostgreSQLPhát hành.) Một lý do khác để giữ nó là vì ràng buộc séc tương đối tốn kém, và trong nhiều hoàn cảnh sẽ không mang lại tiền tiết kiệm. Nó được khuyến nghị Chỉ bật điều này nếu bạn thực sự đang sử dụng phân vùng Các bảng được thiết kế để tận dụng 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.
Người lập kế kèo bóng đá euro 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 đá euro 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 13.3.
Người lập kế kèo bóng đá euro 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 đá euro 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 đá euro 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 13.3.