JITbiên dịch có lợi chủ yếu cho các truy vấn liên kết CPU dài hạn. Thường thì đây sẽ là các truy vấn phân tích.JITbiên dịch thường sẽ cao hơn thời gian nó có thể tiết kiệm.
Để xác định xem cóJITnên sử tỷ lệ kèo bóng đá 88 tổng hợp, tổng chi phí ước tính của một truy vấn (xemChương 71vàPhần 19.7.2) được sử tỷ lệ kèo bóng đá 88. Chi phí ước tính của truy vấn sẽ được so sánh với cài đặt củajit_above_cost. Nếu chi phí cao hơn,JITbiên dịch sẽ được thực hiện. Hai quyết định tiếp theo sau đó là cần thiết.jit_inline_above_cost, Các hàm và toán tử ngắn được sử tỷ lệ kèo bóng đá 88 trong truy vấn sẽ được đưa vào. Thứ hai, nếu chi phí ước tính nhiều hơn cài đặt củajit_optimize_above_cost, Tối ưu hóa đắt tiền được áp tỷ lệ kèo bóng đá 88 để cải thiện mã được tạo. Mỗi tùy chọn này tăngJITChi phí biên dịch, nhưng có thể giảm đáng kể thời gian thực hiện truy vấn.
Các quyết định dựa trên chi phí này sẽ được đưa ra vào thời điểm kế hoạch, không phải thời gian thực hiện. Điều này có nghĩa là tỷ lệ kèo bóng đá 88 các câu lệnh được chuẩn bị được sử dụng và một kế hoạch chung được sử dụng (xemChuẩn bị), Các giá trị của các tham số cấu hình có hiệu lực tỷ lệ kèo bóng đá 88 chuẩn bị kiểm soát thời gian
nếujitđược đặt thànhTẮT
hoặc nếu khôngJITThực hiện có sẵn (ví dụ vì máy chủ được biên dịch mà không có--with-llvm
),JITsẽ không được thực hiện, ngay cả tỷ lệ kèo bóng đá 88 nó sẽ có lợi dựa trên các tiêu chí trên. Cài đặtJITđếnTẮT
Có hiệu ứng ở cả kế hoạch và thời gian thực hiện.
Giải thíchcó thể được sử tỷ lệ kèo bóng đá 88 để xem liệuJITđược sử tỷ lệ kèo bóng đá 88 hay không. Ví dụ, đây là một truy vấn không sử tỷ lệ kèo bóng đá 88JIT:
=# Giải thích Phân tích Chọn Sum (Relpages) từ PG_Class;
Đưa ra chi phí của kế hoạch, hoàn toàn hợp lý là khôngJITđã được sử tỷ lệ kèo bóng đá 88; Chi phí củaJITsẽ lớn hơn mức tiết kiệm tiềm năng. Điều chỉnh giới hạn chi phí sẽ dẫn đếnJITSử tỷ lệ kèo bóng đá 88:
=# Đặt jit_above_cost = 10;
Có thể nhìn thấy ở đây,JITđã được sử tỷ lệ kèo bóng đá 88, nhưng không tối ưu hóa nội tuyến và đắt tiền thì không. Nếu nhưjit_inline_above_costhoặcjit_optimize_above_costcũng bị hạ thấp, điều đó sẽ thay đổi.