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
在做一個(gè)關(guān)于NamedParameterJdbcTemplate的性能測試,測試到batchInsert批量插入時(shí)發(fā)現(xiàn)效率比mybatis慢了幾倍,我有點(diǎn)震驚。暫時(shí)還沒有啥思路,期望童鞋們提供點(diǎn)思路或方法。測試代碼地址:https://github.com/kevin70/na...
連接數(shù)共100個(gè),使用的數(shù)據(jù)庫是mysql,程序和數(shù)據(jù)庫都是在同一臺(tái)設(shè)備上運(yùn)行的。
機(jī)器配置如下: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. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。2. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?3. python中def定義的函數(shù)加括號(hào)和不加括號(hào)的區(qū)別?4. PHP訂單派單系統(tǒng)5. 怎么能做出標(biāo)簽切換頁的效果,(文字內(nèi)容隨動(dòng))6. php多任務(wù)倒計(jì)時(shí)求助7. 數(shù)組排序,并把排序后的值存入到新數(shù)組中8. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?9. mysql時(shí)間格式問題10. 默認(rèn)輸出類型為json,如何輸出html
