为了账号安全,请及时绑定邮箱和手机立即绑定

mysql 同一表生成多个conn,其中一个commit会对别的链接有影响吗?

mysql 同一表生成多个conn,其中一个commit会对别的链接有影响吗?

料青山看我应如是 2018-07-21 20:47:28
获取一个数据库的多个conn,操作同一个表的数据,若其中一个conn.commit,会对别的conn数据操作有影响吗?
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

不用数据库连接池,而由程序去操作conn,其每次操作完后都需要commit,当你的应用中有并发写操作时会有一定的影响,一般都是交给数据库连接池,,它会在一开始初始化一定量的连接实例,当你需要用时它会自动分配去处理。
由于创建连接的代价是很高的, 我们每次访问数据库都重新创建连接的话是非常消耗性的.

我们可以再程序启动的时候先创建出一些连接, 放在一个集合中, 访问数据库的时候从集合中获取, 使用结束再放回集合中.

这样做只是在程序启动的时候消耗性能去创建连接, 每次访问数据库的时候都是从内存中获取连接, 可以大大提升效率.
注意事项:

由于池中增删非常频繁, 使用集合LinkedList效率较高

集合中所有连接都被占用时创建新连接, 但需要注意连接总数

使用组合模式/动态代理处理释放连接的方法, 当运行close方法时, 将连接放回池中


查看完整回答
反对 回复 2018-07-28
  • 1 回答
  • 0 关注
  • 892 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信