目前,我正在使用预准备语句在代码下插入一堆行:
更新后的代码:
spring-core
但是,我看到一篇文章谈论交易更快......我可以将交易与准备好的声明结合使用,还是应该以不同的方式使用它?假设我必须为每个脚本运行插入1000行,并且以5秒的间隔触发脚本,对我来说最好的方法是什么?
答案 0 :(得分:1)
我建议在单个INSERT
语句中插入100到1000行。 (我认为您提供的代码不会在没有更多更改的情况下运行。)
使用autocommit=1
或TRANSACTION
执行100-1000行。这样做的好处是不会占用系统,也不会收集大量可能“撤消”的数据。但是没有原子地完成所有行的缺点。
少于100会导致额外开销;超过1000个收益递减和其他形式的开销。
100-1000也是复制友好的,而不是占用复制流。
如果您已在csv文件中包含数据,请使用LOAD DATA
。