Java 通过JDBC进行简单查询花费的时间太长,但从MySQL控制台进行查询的速度非常快

Java 通过JDBC进行简单查询花费的时间太长,但从MySQL控制台进行查询的速度非常快,java,mysql,performance,jdbc,bonecp,Java,Mysql,Performance,Jdbc,Bonecp,我有一个简单的查询,在mysql控制台上执行它只需要0.2秒。但是,当我从我的可运行java jar通过jdbc执行此查询时,获取数据(20000行)大约需要15秒 这个查询非常简单,我的WHERE子句中的字段被索引,我只选择了两列 我尝试了BoneCP连接池和简单jdbc连接。但在这两种情况下,结果几乎相同。从mysql到java端获取数据时,似乎需要花费太多的时间,但我无法想象如何。所以我想不出一个解决办法 查询示例: SELECT eventType, eventId FROM user

我有一个简单的查询,在mysql控制台上执行它只需要0.2秒。但是,当我从我的可运行java jar通过jdbc执行此查询时,获取数据(20000行)大约需要15秒

这个查询非常简单,我的WHERE子句中的字段被索引,我只选择了两列

我尝试了BoneCP连接池和简单jdbc连接。但在这两种情况下,结果几乎相同。从mysql到java端获取数据时,似乎需要花费太多的时间,但我无法想象如何。所以我想不出一个解决办法

查询示例:

SELECT eventType, eventId  FROM users WHERE uid=55;
uid被编入索引。从mysql控制台开始需要0.2秒,但通过我的jar需要15秒。顺便说一下,15秒实际上是执行executeQuery()所需的时间

注意:在我发布这个问题之前,我在这里搜索了一下,但没有找到真正的答案


已解决。请参阅下面的我的评论

您直接在mysql服务器上执行查询,或者在需要0.2秒的时间内从任何gui工具远程执行查询。您确实使用了
PreparedStatement
executeQuery()
?然后关闭所有?PreparedStatement第一次有一点开销,但之后更快更好。尝试自动提交=false。请尝试直接从同一主机为应用程序提供多一点内存。通过终端@ZafarMaliknow通过任何查询浏览器(如SQLYG、mysqladmin、MONYG等)从本地系统远程检查,并检查性能。同样,没有什么不同@ZafarMalik