Улучшение MySQL JDBC вызова вставки - PullRequest
0 голосов
/ 01 апреля 2010

У меня есть устаревшая система Java, которая каждый раз, когда получает заказ, выполняет JDBC-вызов хранимой процедуры для каждого поля в заказе. Обычно хранимая процедура вызывается от 20 до 30 раз для каждого заказа. Процедура store просто выполняет вставку в таблицу для каждого поля.

Мне нужно улучшить производительность этой операции. одна мысль у меня была создать строку запроса вставки, которая делает несколько вставок в одном вызове JDBC. MySql поддерживает несколько строк вставки.

INSERT INTO PersonAge (name, age)
VALUES  ('Helen', 24),
        ('Katrina', 21),
        ('Samia', 22),
        ('Hui Ling', 25),
        ('Yumie', 29)

Преимущество заключается в том, что на заказ требуется только один вызов JDBC. Любые другие идеи о том, как улучшить производительность?

1 Ответ

2 голосов
/ 01 апреля 2010

Создайте подготовленный оператор или пакетное обновление (в Java это будет PreparedStatement или Statement.executeBatch()). Подготовленный оператор, вероятно, будет быстрее, потому что вам нужно только передать значения в базу данных, а не весь запрос. Попробуйте каждый из них и запустите тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...