我有一个遗留的Java系统,每次收到订单时,它都会针对订单中的每个字段对存储过程进行JDBC调用。通常,对于每个订单,存储过程将被调用20到30次。存储过程只是对每个字段执行一个插入到表中的操作。
我需要提高这个操作的性能。我的一个想法是创建一个在一个JDBC调用中执行多次插入的insert查询字符串。MySql支持多插入字符串。
INSERT INTO PersonAge (name, age)
VALUES ('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)这样做的好处是每个订单只需要一次JDBC调用。关于如何提高性能,还有其他想法吗?
发布于 2010-04-01 05:43:30
创建预准备语句或批处理更新(在Java语言中,它应该是PreparedStatement或Statement.executeBatch())。准备好的语句可能会更快,因为您只需将值提交到数据库,而不是整个查询。尝试每种方法,并运行基准测试。
https://stackoverflow.com/questions/2556647
复制相似问题