数据库的长连接和短链接

数据库里面,连接可以分为长连接和短链接;

长连接
是指连接成功后,如果客户端持续有请求,则一直使用同一个连接。

短连接
是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个。

注意

建立连接的过程通常是比较复杂的,所以建议在使用中要尽量减少建立连接的动作, 也就是尽量使用长连接。

但是全部使用长连接后,你可能会发现,有些时候 MySQL 占用内存涨得特别快,这是因 为 MySQL 在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断 开的时候才释放。所以如果长连接累积下来,可能导致内存占用太大,被系统强行杀掉 (OOM),从现象看就是 MySQL 异常重启了。

怎么解决这个问题呢?你可以考虑以下两种方案。
1.定期断开长连接。使用一段时间,或者程序里面判断执行过一个占用内存的大查询后, 断开连接,之后要查询再重连。
2. 如果你用的是 MySQL 5.7 或更新版本,可以在每次执行一个比较大的操作后,通过执行 mysql_reset_connection 来重新初始化连接资源。这个过程不需要重连和重新做权 限验证,但是会将连接恢复到刚刚创建完时的状态。

SQL Server 中的“长连接”和“连接”通常与数据库服务器如何管理客户端连接的方式相关。 **长连接**(Long Connection): 长连接是指当客户端应用程序建立了一个到 SQL Server 的连接之后,在一定的时间内(例如一天、一周或其他指定时间周期),这个连接不会自动关闭,并可以反复用于发送查询命令。在这种情况下,一旦建立了连接,直到明确地关闭该连接或客户端应用终止运行之前,无需每次执行新查询都重新建立连接。这种连接模式有助于减少系统资源的开销,因为频繁创建和销毁连接是一个耗时的过程。 **连接**(Short Connection): 相对而言,连接是在每执行一次查询操作时都会新建一个数据库连接,直到该查询完成并返回结果。也就是说,从建立连接到执行完查询再到关闭连接这一过程仅发生一次,对于单次查询任务来说效率较高,因为它避免了长期维持连接带来的潜在资源消耗。不过,这种方式可能会增加客户端和服务器之间因连接而产生的通信次数,尤其是在处理大量并发查询的情况下。 **选择使用哪种类型的连接取决于应用场景的需求**: 1. **性能考量**: 如果应用需要处理大量的快速、连续的查询请求,连接可能会更有效率,因为它减少了维护长时间连接所需的时间开销。 2. **资源管理**: 长连接在一定程度上有助于减少资源管理和分配的复杂度,尤其是对那些经常访问数据集的应用程序来说。 3. **安全性与权限管理**: 使用长连接的场景下,需要考虑用户认证和会话保持的问题。为了安全性和管理方便,有时可能需要定期刷新会话或断开过期的连接。 在实际操作中,SQL Server 默认采用的是连接机制。然而,通过设置服务器配置选项或使用特定的数据库API特性,管理员可以根据具体需求调整服务器的行为,比如启用或禁用长连接功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值