Вставьте/обновление с нулевыми значениями в JDBC Oracle вызывает проблему производительностиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Вставьте/обновление с нулевыми значениями в JDBC Oracle вызывает проблему производительности

Сообщение Anonymous »

У нас есть пружинное приложение, подключающее к Oracle через SpringJDBC (JDBCTemplate), < /p>

Код: Выделить всё

com.oracle.database.jdbc
ojdbc11
23.3.0.23.09

В нашем классе DAO у нас есть вставка, выполненная с помощью jdbctemplate.update () :

Код: Выделить всё

String sql = """
INSERT INTO
MY_TABLE (
COL1,
COL2,
COL3)
VALUES (?, ?, ?)
""";
jdbcTemplate.update(sql, param1, param2, param3/* may be NULL*/);
< /code>
3 -й параметр может быть нулевым значением, вставленным. Когда он не нулевой, производительность быстрая, нет проблем. Но когда это оказывается нулевым, это займет ~ 2 минуты на первой такой вставке, и она все еще довольно медленная (около 10-30 сек.) На всех последующих таких вставках. Db.(param3 == null ? "" : param3)
и это устраняет проблему с производительностью, и вставляется NULL. Но является ли эта NULL-проблема известной проблемой драйвера Oracle JDBC? Я не знаю, всегда ли это будет работать, например, можно ли отключить в БД эквивалентность NULL/пустая. Есть ли другие обходные пути?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ance-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»