PostgreSQL: kèo chấp bóng đá | |||
---|---|---|---|
prev | UP | Chương 18. Cấu hình máy chủ | Tiếp theo |
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èo bóng đá hom nay đượ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 kế kèo bóng đá hom nay 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 đá hom nay đượ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ế kèo bóng đá hom nay (xemPhần 18.7.2), ChạyPhân tíchtheo cách thủ công, tăng giá trị của10766_10793Tham 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ác loại kế hoạch Bitmap-Scan của kèo bóng đá hom nay. Mặc định làtrên.
Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạch tổng hợp băm của người lập kèo bóng đá hom nay. Mặc định làtrên.
Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạch băm của người lập kèo bóng đá hom nay. Mặc định làtrên.
cho phép hoặc vô hiệu hóa việc sử dụng các loại kế kèo bóng đá hom nay quét chỉ mục truy vấn. Mặc định làtrên.
12257_12349trên.
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èo bóng đá hom nay. 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ạch chèn các nút thành hiện thực ngoại trừ trong trường hợp cần thiết cho tính chính xác. Mặc định là12827_12831.
Cho phép hoặc vô hiệu hóa việc sử dụng các loại kế hoạch hợp nhất của kèo bóng đá hom nay. Mặc định làtrên.
cho phép hoặc vô hiệu hóa việc sử dụng các kế kèo bóng đá hom nay tham gia vòng lặp lồng nhau của Truy vấn. 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ế kèo bóng đá hom nay 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.
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 người lập kèo bóng đá hom nay. 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.
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èo bóng đá hom nay. 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.
14564_14613tidCác loại kế kèo bóng đá hom nay quét. Mặc định làtrên.
Thechi phíCác biến được mô tả trong phần này được đo trên thang đo 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ế kèo bóng đá hom nay. 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 quy ước1.0Và các 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 kèo bóng đá hom nay 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.
Đặt ước tính của người lập kế kèo bóng đá hom nay 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 (xemPostgreSQL: Tài liệu:).
Đặt ước tính của người lập kế kèo bóng đá hom nay về chi 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 (xemPostgreSQL: Tài liệu:).
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 các tham số sau.
17220_17616
17622_18133
Tip:Mặc dù hệ thống sẽ cho phép bạn đặtngẫu nhiên_page_costđến nhỏ hơnSEQ_PAGE_COST18324_18713
Đặt ước tính của người lập kế kèo bóng đá hom nay 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 đá hom nay 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 đá hom nay 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.
Đặt giả định của người lập kế kèo bóng đá hom nay 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 choPostgreSQLTệ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 kèo bóng đá hom nay đồ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 kèo bóng đá hom nay. Mặc định là 4 gigabyte (4GB).
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èo bóng đá hom nay 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 chi 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, xemChương 54.
cho phép hoặc vô hiệu hóa tối ưu hóa kèo bóng đá hom nay 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.
Sử dụng tối ưu hóa truy vấn di truyền để lập kèo bóng đá hom nay với ít nhất là nhiềutừCác mặt hàng liên quan. (Lưu ý rằng ATham gia bên ngoài đầy đủXây dựng số lượng chỉ 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ế kèo bóng đá hom nay tìm kiếm toàn diện, thông thường, 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ế kèo bóng đá hom nay 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.
Kiểm soát sự đánh đổi giữa thời gian lập kế hoạch và chất lượng kèo bóng đá hom nay 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èo bóng đá hom nay, nhưng cũng tăng khả năng một kèo bóng đá hom nay hiệu quả sẽ được chọn.
geqo_effort22937_23161
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 kèo bóng đá hom nayề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 kèo bóng đá hom nay.
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ên24093_24109.
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.
Đ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.
Đặt mục tiêu thống kê mặc định cho các cột bảng mà không 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 đá hom nay. 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 đá hom nay, 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 đá hom nay để 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ảSqueries).phân vùnglà cài đặt mặc định. Nó thường được sử dụng với các bảng kế thừa và 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ể, trình lập kế kèo bóng đá hom nay so sánh các điều kiện truy vấn với bảngKiểm tra26643_26750
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étChild100027147_27180
27186_27547
Tham khảoPhần 5.9.4Để biết thêm thông tin về việc sử dụng loại trừ và phân vùng ràng buộc.
Đặt ước tính của người lập kế kèo bóng đá hom nay 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ế kèo bóng đá hom nay đối với việc sử dụng"Bắt đầu nhanh"Kế kèo bóng đá hom nay 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ế kèo bóng đá hom nay 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.
Người lập kế kèo bóng đá hom nay 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èo bóng đá hom nay 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ế kèo bóng đá hom nay GEQO, dẫn đến các kế kèo bóng đá hom nay không tối ưu. Nhìn thấyPhần 18.7.3.
Người lập kế kèo bóng đá hom nay sẽ viết lại rõ ràngtham giaCấu trúc (ngoại trừTham gia đầy đủs) vào danh sáchtừ29553_29697
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 đí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. Vì trình lập kèo bóng đá hom nay 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, 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ế kèo bóng đá hom nay GEQO, dẫn đến các kế kèo bóng đá hom nay không tối ưu. Nhìn thấyPhần 18.7.3.