Xin chào tôi có một truy vấn tới Hệ thống Oracle liên quan đến một khung nhìn nối các bảng khác bằng apliying TO_NUMBER() tới các khóa chính của bảng.Truy vấn chậm trong Java bởi JDBC nhưng không phải trong các hệ thống khác (TOAD)
Nếu tôi thực hiện truy vấn bằng TOAD, truy vấn rất nhanh (1 giây cho 800 regs). Nếu tôi làm cùng một truy vấn trong một chương trình java bởi JDBC với một chuỗi ký tự (không phải là một truy vấn parametrized), thời gian là tốt quá.
Nhưng nếu tôi sử dụng truy vấn tham số bằng PreparedStatement, truy vấn sẽ mất 1 phút để tìm nạp cùng một thanh ghi. Tôi biết rằng việc sử dụng các giá trị không đổi tạo ra kế hoạch thực hiện riêng biệt hơn là sử dụng các tham số ... nhưng nếu tôi xóa bỏ TO_NUMBER funcions trong các kết nối của khung nhìn, truy vấn tham số cũng nhanh.
- Các tham số/TO_NUMBER() có ngăn không cho sử dụng chỉ mục PK của các bảng đã tham gia không?
- có giải pháp nào để giải quyết vấn đề này không (tôi cần các tham số trên truy vấn và chức năng TO_NUMBER)?
P.D. sry cho tiếng anh xấu của tôi
là các bảng được phân đoạn? – skaffman