Đó là một tính năng hợp lý . Bản chất của truy vấn động là nó thay đổi cấu trúc từ lệnh gọi sang lệnh gọi.
Nếu bạn muốn gọi lặp lại cùng một truy vấn (tùy chọn với các tham số khác nhau), hãy sử dụng câu lệnh chuẩn bị :
Hoặc sử dụng mã SQL đơn giản (không động) bên trong các hàm plpgsql, chúng cũng được coi như các câu lệnh đã chuẩn bị.
Trong trường hợp của bạn , tốt nhất nên PREPARE
truy vấn động. Chúng tôi đã gặp một trường hợp tương tự ở đây:
Ngoài ra, nó là cực kỳ không phổ biến là một truy vấn dành 1,4 giây để lập kế hoạch và chỉ 0,1 giây để thực thi. Có thể đáng để xem xét. Có thể có nhiều cách để tối ưu hóa. Thích với join_collapse_limit
:
- Truy vấn mẫu để hiển thị lỗi ước tính Cardinality trong PostgreSQL
- Đ:Tìm kiếm đầy đủ văn bản chậm do ước tính hàng cực kỳ không chính xác
Có liên quan: