考虑建立与 RDBMS 的连接,然后拔出网络插头。(如果连接通过 NAT 网关,您将获得相同的效果,并且网关决定清除该连接。)
此时,RDBMS 服务器正在等待永远不会发生的查询或其他任何事情。并且客户端不会关闭 TCP 连接,因为它不再在该网络上。据推测,服务器也不会关闭它,因为它仍然认为连接是打开的。
典型的 RDBMS 是否通过超时和/或通过 TCP 实现简单的保活机制来处理这个问题?有人对 Oracle、SQL Server 和 MySQL 有这方面的经验吗?
编辑; 更多挖掘表明 mysql 在 8 小时不活动后清除连接。