为什么我连接MySQL时Java速度慢?

为什么我连接MySQL时Java速度慢?,java,mysql,jdbc,connection,performance,Java,Mysql,Jdbc,Connection,Performance,如果我在本地主机服务器上用Java连接到MySQL,我会立即访问。 但是如果我从网络PC(192.168.1.100)连接到本地主机之外,速度会非常慢(4-5秒)。 而且,如果我从公共IP连接到SQL server,速度也会非常慢(6秒或更长)。因为您的计算机需要时间将数据包发送到外部服务器,而它们需要时间将数据包发送回。它被称为网络延迟,并不是Java特有的问题,而是一般的网络问题。我猜是网络延迟加上连接创建时间。我不知道客户机和MySQL服务器之间还有什么区别。为什么已经回答了。这只是网络延

如果我在本地主机服务器上用Java连接到MySQL,我会立即访问。
但是如果我从网络PC(192.168.1.100)连接到本地主机之外,速度会非常慢(4-5秒)。

而且,如果我从公共IP连接到SQL server,速度也会非常慢(6秒或更长)。

因为您的计算机需要时间将数据包发送到外部服务器,而它们需要时间将数据包发送回。它被称为网络延迟,并不是Java特有的问题,而是一般的网络问题。

我猜是网络延迟加上连接创建时间。我不知道客户机和MySQL服务器之间还有什么区别。

为什么已经回答了。这只是网络延迟


您可能还对如何“修复”它感兴趣。答案是:使用一个简单的方法。如果您正在运行Java Web应用程序,请使用Web服务器提供的连接池功能。以Tomcat为例,检查。如果您正在运行Java桌面应用程序,请使用一个像样的连接池实现,如(教程)。

在网络上建立连接总是比在本地建立相同的连接需要更长的时间。然而,假设您有一个相当典型的本地网络,4-5秒听起来有点极端。我的猜测(这只是一个猜测)是,大部分额外时间都被网络名称解析(即DNS和/或netbios)占用


我建议您尝试使用数字IP地址而不是名称进行连接。

连接4秒可能是DNS问题,不能只是纯粹的网络延迟。
尝试使用“skip name resolve”参数启动MySQL服务器,以跳过将客户端IP解析为主机名。在此之前,请确保您的授权表基于IP和“localhost”,而不是符号名。

我将再次尝试IP地址。仅就网络延迟而言,4-5秒似乎非常慢。