Tôi không biết đây có phải là vấn đề của bạn hay không, nhưng Oracle xem xét các giá trị biến ràng buộc khi phân tích cú pháp một truy vấn và sau đó lưu kế hoạch truy vấn cho các lần thực thi trong tương lai để không phải tiếp tục phân tích cú pháp truy vấn mỗi khi nó được chạy với một truy vấn mới. tập hợp các biến ràng buộc. Nhưng thỉnh thoảng truy vấn lại được phân tích cú pháp. Nếu một số giá trị biến ràng buộc bất thường được chuyển trong quá trình phân tích cú pháp thì một kế hoạch không hợp lệ sẽ được lưu trữ và sử dụng. Đó là một loại lời nguyền của các biến ràng buộc. Chúng giảm phân tích cú pháp nhưng có thể lật lại kế hoạch trên các giá trị biến ràng buộc không điển hình khi các truy vấn được phân tích cú pháp lại. Gợi ý có thể giúp ích. Chúng tôi sử dụng Hồ sơ SQL để khóa các kế hoạch truy vấn với các biến ràng buộc có xu hướng thay đổi kế hoạch. Đôi khi bạn có thể tùy chỉnh thời điểm và cách thức thu thập thống kê của trình tối ưu hóa để tạo ra một kế hoạch tốt bất kể giá trị nào được chuyển vào các biến liên kết.
Dù sao đi nữa, đó là điều tôi thấy mọi lúc và có thể là vấn đề của bạn.
Bobby