与 Java 应用程序相比,Tomcat8 中的 JDBC 性能非常慢

Posted

技术标签:

【中文标题】与 Java 应用程序相比,Tomcat8 中的 JDBC 性能非常慢【英文标题】:Very very slow JDBC performance in Tomcat8 compared to Java Application 【发布时间】:2015-10-05 15:41:18 【问题描述】:

我正在创建一个简单的 JDBC 连接并执行一个准备好的语句。 查询返回 10 行,在简单的 Java 应用程序中执行查询大约需要 20 秒。

当我在 tomcat 中将其部署为 WAR 文件并由 servlet 执行相同的查询时,大约需要 3 到 4 分钟,有时甚至更长时间。

无法找出可能的原因。

【问题讨论】:

看几个地方:1)使用连接池而不是手动打开物理连接 2)确保您的应用程序服务器和数据库服务器之间的延迟非常低 3)检查两个服务器是否属于到同一个网段 问题类似于***.com/questions/30775287/… 我正在使用连接池,是的,两个服务器都属于同一个网络,Java 应用程序和服务器都在同一台机器上 【参考方案1】:

很久了。 但如果有人还在寻找。

缓慢的根本原因是 SQL 中存在 Join。 虽然 SQL Developer 中的连接速度更快,但我认为当从 JDBC 调用时,它使用的是不同且更长的执行计划。

我将联接拆分为两个单独的查询,它运行良好。

【讨论】:

以上是关于与 Java 应用程序相比,Tomcat8 中的 JDBC 性能非常慢的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat8中文乱码

Spark - MongoDb - 与 pyspark 版本相比,java 中的 dataframe.limit(2) 慢

Java中文件上传路径与路径修改相关问题(tomcat8.0+eclipse)

Linux下jdk与Tomcat8的安装配置

(Win10)Java,Maven,Tomcat8.0,Mysql8.0.15安装与环境配置,以及IDEA2019.3使用JDBC连接MySQL创建JavaEE项目

与java hashmap / hashtable相比,python字典搜索复杂度[重复]