我一直在試圖使用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