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. android - NavigationView 的側滑菜單中如何保存新增項(通過程序添加)2. 這段代碼既不提示錯誤也看不到結果,請老師明示錯在哪里,謝謝!3. 老師 我是一個沒有學過php語言的準畢業生 我希望您能幫我一下4. Thinkphp5.1報錯不支持Redis5. php7.3.4中怎么開啟pdo驅動6. ueditor上傳服務器提示后端配置項沒有正常加載,求助!!!!!7. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)8. 關于thinkphp 5.1中,ajax提交數據url的格式寫法,加花括號就出錯,請老師指點9. tp5 不同控制器中的變量調用問題10. http://run.php.cn/在線PHP程序運行結果不正確
