我想知道为什么 MyBatis 在我的应用程序中运行缓慢。
对于 a SELECT COUNT(*)
,所用时间为:
- 20 秒 - 第一个请求
- 2-3 秒 - 后续请求
缓存很可能使后续请求更快。
配置
- 3 层(WPF UI - Java 后端 - Oracle 数据库)
- JBoss Server 将 Java Backed 作为 WPF UI 的 Web 服务公开
- 请求时间== WPF UI 发送和接收结果之间的时间
- 正在使用的Spring 框架
尝试的方法
禁用日志记录
我不知道同时禁用日志子系统和 log4j 是否会有所不同;但是,我得到的最好成绩是 15 秒
SELECT COUNT(*)
。禁用缓存和延迟加载
这也可能最多产生 5 秒的差异。
以下有帮助吗?
此处列出了上述技术:
- MyBatis 论坛
- JBoss 最佳实践(第 9 页)
另一个例子
对于具有 2 个连接和 1 个子查询的嵌套 SQL 语句,所用时间为:
- 60-90 秒 - 第一次请求
- 2-3 秒 - 后续请求