Здравствуйте, у меня есть запрос к Oracle System, который включает представление, которое объединяет другие таблицы путем применения TO_NUMBER () к первичному ключу таблиц.
Если я выполняю запрос с использованием TOAD, запрос выполняется очень быстро (1 секунда для 800 регистров). Если я выполняю тот же запрос в java-программе от JDBC с литералом String (не параметризованным запросом), время тоже хорошее.
Но если я использую параметризованный запрос PreparedStatement, запрос занимает 1 минуту, чтобы получить те же регистры. Я знаю, что использование константных значений дает отличный план выполнения, чем использование параметров ... но если я удаляю функции TO_NUMBER в соединениях представления, параметризованный запрос также выполняется быстро.
- Предотвращает ли объединение параметров / TO_NUMBER () использование индекса PK объединяемых таблиц?
- Есть ли обходной путь для решения этой проблемы (мне нужны параметры запроса, а также функция TO_NUMBER)?
P.D. извините за мой плохой английский