全部产品

常见问题排查

出现错误信息 “Could not read resultset: unexpected end of stream, read 0 bytes from 4”

这是在与服务器通信时出现的问题。

在大多数情况下,这是由读取具有较大结果集的查询引起的。服务器通常希望客户端相对快速地读取结果集。 net_write_timeout 服务器变量控制此行为(默认为 60s)。如果客户端在这段时间内没有读取整个结果集,则服务器将丢弃该连接。如果不希望在此时间内处理结果,则可以使用查询 SET STATEMENT net_write_timeout = 10000 FOR XXX,其中 XXX 是指“常规”查询。针对此查询将 net_write_timeout 设置为更长的时间(在此示例中为 10000)。

如果应用程序通常使用很多具有 Fetch Size 的长查询,则可以使用 sessionVariables = net_write_timeout = xxx 选项设置连接。

如何进行轻量级 Ping/ 以避免大量使用“SELECT 1”

Connection.isValid() 可以进行轻量级 Ping/ 以避免大量使用 SELECT 1Connection.isValid() 在 MySQL 协议中执行 Ping 操作,而不是执行网络 Ping 操作。