java - NamedParameterJdbcTemplate 性能测试
问题描述
MyBatis
Benchmark (maxPoolSize) (minPoolSize) Mode Cnt Score Error UnitsMybatisBenchmark.batchInsert 100 100 avgt 20 127.238 ± 27.799 ms/opMybatisBenchmark.insert 100 100 avgt 20 0.821 ± 0.210 ms/opMybatisBenchmark.queryById100 100 avgt 20 0.633 ± 0.089 ms/opMybatisBenchmark.queryByIdForManualMap 100 100 avgt 20 0.717 ± 0.182 ms/op
NamedJdbcTemplate
Benchmark (maxPoolSize) (minPoolSize) Mode Cnt Score Error UnitsNamedJdbcBenchmark.batchInsert 100 100 avgt 20 533.033 ± 101.290 ms/opNamedJdbcBenchmark.insert 100 100 avgt 20 0.599 ± 0.167 ms/opNamedJdbcBenchmark.queryById100 100 avgt 20 0.300 ± 0.044 ms/opNamedJdbcBenchmark.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:问题已解决,需要开启rewriteBatchedStatements。MySQL Optional URL parameters
Benchmark (maxPoolSize) (minPoolSize) Mode Cnt Score Error UnitsNamedJdbcBenchmark.batchInsert 100 100 avgt 20 61.684 ± 14.840 ms/opNamedJdbcBenchmark.batchInsert2 100 100 avgt 20 59.116 ± 14.276 ms/opNamedJdbcBenchmark.insert 100 100 avgt 20 1.001 ± 0.522 ms/opNamedJdbcBenchmark.queryById100 100 avgt 20 0.415 ± 0.060 ms/opNamedJdbcBenchmark.queryByIdForManualMap 100 100 avgt 20 0.412 ± 0.064 ms/op
相关文章:
1. docker容器呢SSH为什么连不通呢?2. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题3. docker网络端口映射,没有方便点的操作方法么?4. docker api 开发的端口怎么获取?5. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~6. 请问“由于 Cookie “PHPSESSID”的“SameSite”属性设置为“None”,但缺少“Secure”属性,此 Cookie 未来将被拒绝。”请问出现这个问题怎么办?7. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?8. docker gitlab 如何git clone?9. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?10. Hbuilder中的phpMyAdmin访问题

网公网安备