MyBatis
Benchmark (maxPoolSize) (minPoolSize) Mode Cnt Score Error Units
MybatisBenchmark.batchInsert 100 100 avgt 20 127.238 ± 27.799 ms/op
MybatisBenchmark.insert 100 100 avgt 20 0.821 ± 0.210 ms/op
MybatisBenchmark.queryById 100 100 avgt 20 0.633 ± 0.089 ms/op
MybatisBenchmark.queryByIdForManualMap 100 100 avgt 20 0.717 ± 0.182 ms/op
NamedJdbcTemplate
Benchmark (maxPoolSize) (minPoolSize) Mode Cnt Score Error Units
NamedJdbcBenchmark.batchInsert 100 100 avgt 20 533.033 ± 101.290 ms/op
NamedJdbcBenchmark.insert 100 100 avgt 20 0.599 ± 0.167 ms/op
NamedJdbcBenchmark.queryById 100 100 avgt 20 0.300 ± 0.044 ms/op
NamedJdbcBenchmark.queryByIdForManualMap 100 100 avgt 20 0.359 ± 0.090 ms/op
在做一个关于NamedParameterJdbcTemplate的性能测试,测试到batchInsert批量插入时发现效率比mybatis慢了几倍,我有点震惊。暂时还没有啥思路,期望童鞋们提供点思路或方法。测试代码地址:https://github.com/kevin70/na...
连接数共100个,使用的数据库是mysql,程序和数据库都是在同一台设备上运行的。
机器配置如下:MacBook Pro (Retina, 13-inch, Mid 2014)CPU: 3 GHz Intel Core i7Memory: 16 GB 1600 MHz DDR3
1 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
问题已解决,需要开启rewriteBatchedStatements
。MySQL Optional URL parameters
Benchmark (maxPoolSize) (minPoolSize) Mode Cnt Score Error Units
NamedJdbcBenchmark.batchInsert 100 100 avgt 20 61.684 ± 14.840 ms/op
NamedJdbcBenchmark.batchInsert2 100 100 avgt 20 59.116 ± 14.276 ms/op
NamedJdbcBenchmark.insert 100 100 avgt 20 1.001 ± 0.522 ms/op
NamedJdbcBenchmark.queryById 100 100 avgt 20 0.415 ± 0.060 ms/op
NamedJdbcBenchmark.queryByIdForManualMap 100 100 avgt 20 0.412 ± 0.064 ms/op
添加回答
举报
0/150
提交
取消