我一直在试图使用spring 3.0 SimpleJdbcTemplate,并且需要5分钟来插入1500条记录,而这需要我几秒钟的时间。使用直接JDBC插入。不知道我做错了什么。Spring JDBC vs JDBC
6
A
回答
6
如果您正在构建批处理考虑使用Spring批处理 - JdbcBatchItemWriter
以及适当的块大小设置,那将在不到一秒钟的时间内加载这1500条记录。
1
有些事情值得一试:
- 开销可能会在应用程序级别由Spring管理事务。看看你正在使用什么样的事务管理器(找一个名字为
transactionManager
的bean)。如果您使用JTA,那可能就是您的问题所在。由于JDBC速度很快,瓶颈似乎不是数据库。 - 根据您的应用程序如何使用该事务,它可能会在完成所有1500个请求和提交之前将所有内容都放在内存中。你是否看到内存使用的巨大差异(Spring应该高得多)?
- 在任何一种情况下您使用的是哪种数据库连接池?
快速的方法来分析您的应用程序:
获取pid - "jps -l"
内存:jmap -histo PID
(检查是否有某种形式的内存泄漏)
检查什么引擎盖下回事:jstack PID
(寻找缓慢或递归的方法调用)
-2
如何使用
jdbcTemplate.batchUpdate(new String[]{sql});
相关问题
- 1. ORM Technologies vs JDBC?
- 2. JDBC PoolingDataSource vs PoolingDriver
- 3. Spring jdbc配置
- 4. Spring JDBC Persist ZonedDateTime
- 5. jdbc vs jpa执行
- 6. 爪哇 - POST VS JDBC
- 7. getJdbcTemplate()。queryForObject与Spring JDBC
- 8. spring jdbc RowCallbackHandler噩梦
- 9. Spring mvc jdbc和hibernate
- 10. spring-boot jdbc datasource configure?
- 11. NoClassDefFound错误 - Spring JDBC
- 12. Spring Jdbc映射行
- 13. Spring @Transactional和JDBC autoCommit
- 14. log4j spring jdbc异常
- 15. Spring JDBC中的SocketTimoutException
- 16. JPA VS JDBC - 2个问题
- 17. 春天JDBC VS iBatis的
- 18. Coldfusion oracle jdbc Macromedia vs Thin
- 19. 关系处理:Hibernate vs JDBC
- 20. Logstash/Elasticsearch JDBC document_id vs document_type?
- 21. Active Record vs JRuby与JDBC
- 22. Spring,JDBC和多线程
- 23. 来自Spring-JDBC的getResultSet
- 24. Spring安全3.0与jdbc
- 25. Spring引导jdbc连接
- 26. 从表中读取Spring JDBC
- 27. In()使用spring jdbc吗?
- 28. Spring JDBC:如何创建表?
- 29. Spring Framework JDBC DAO with agrrgation/composition
- 30. Spring Data JPA和JDBC模板
你可以通过你的代码吗? – dierre 2010-08-09 18:09:23
这不是一个问题,也没有提供任何代码供我们仔细检查,您如何期望我们能够帮助您?请考虑提供更多细节。 – Andrew 2010-08-09 18:10:04
不是说应该花费5分钟才能插入,但是当您在“直接jdbc”之上使用任何框架时会有延迟。发布您的查询/代码,以便我们可以看到发生了什么。 – 2010-08-09 18:33:23