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
在做一個關(guān)于NamedParameterJdbcTemplate的性能測試,測試到batchInsert批量插入時發(fā)現(xiàn)效率比mybatis慢了幾倍,我有點震驚。暫時還沒有啥思路,期望童鞋們提供點思路或方法。測試代碼地址:https://github.com/kevin70/na...
連接數(shù)共100個,使用的數(shù)據(jù)庫是mysql,程序和數(shù)據(jù)庫都是在同一臺設(shè)備上運行的。
機器配置如下: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
相關(guān)文章:
1. javascript - 自執(zhí)行函數(shù)是當(dāng)加載到這個js就執(zhí)行函數(shù)了嗎2. python 字符串匹配問題3. docker不顯示端口映射呢?4. docker start -a dockername 老是卡住,什么情況?5. javascript - 這里的這個函數(shù)是干嘛用的?6. javascript - CSS圖片輪播顯示問題7. javascript - vue-router怎么不能實現(xiàn)跳轉(zhuǎn)呢8. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?9. android - viewpager問題PagerTabStrip樣式10. dockerfile - 我用docker build的時候出現(xiàn)下邊問題 麻煩幫我看一下
