V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
twogoods
V2EX  ›  问与答

为什么要用数据库连接池

  •  1
     
  •   twogoods · 2018-09-06 11:53:50 +08:00 via Android · 2437 次点击
    这是一个创建于 2271 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一开始上来就说要用池,缺发现少问了个为什么,我的系统只创建一个链接,然后这个连接永不关闭,所有 sql 都用这个连接嘛,先不说性能,这样能保证不出问题吗?面了个这么基础的问题,没答上来好伤啊,面试官说让我往网络模型上凑什么 nio,bio

    11 条回复    2018-09-06 19:34:17 +08:00
    earendil1412
        1
    earendil1412  
       2018-09-06 12:00:05 +08:00 via Android
    数据库连接,比如 JDBC 是 bio 的,一次只能处理一个查询
    mm163
        2
    mm163  
       2018-09-06 12:08:38 +08:00
    不是每个项目都必须,但当数据库连接成为瓶颈,自然就需要了。
    twogoods
        3
    twogoods  
    OP
       2018-09-06 12:16:07 +08:00 via Android
    估计是我当时脑子抽了,总想着是不是会有其他问题,而不提性能问题........想想 nio,bio 也只有性能问题了,如果驱动用了 nio,连接池还有必要吗?
    lolizeppelin
        4
    lolizeppelin  
       2018-09-06 12:21:26 +08:00 via Android
    连接断了 全部都挂

    连接阻塞了 全部都挂


    所有池话不都为了解决这些问题么 预留资源
    feverzsj
        5
    feverzsj  
       2018-09-06 12:25:04 +08:00
    因为用的人多了
    LukeChien
        6
    LukeChien  
       2018-09-06 12:34:04 +08:00 via Android
    隔离事务吧
    misaka19000
        7
    misaka19000  
       2018-09-06 13:35:06 +08:00
    楼上+1
    changnet
        8
    changnet  
       2018-09-06 14:18:13 +08:00 via Android   ❤️ 1
    我们做游戏基本都只用一个链接,异步处理,没觉得有什么问题
    Cbdy
        9
    Cbdy  
       2018-09-06 14:23:48 +08:00 via Android
    数据库事务会占用一个数据库连接
    mmdsun
        10
    mmdsun  
       2018-09-06 19:33:53 +08:00 via Android
    事务?
    mmdsun
        11
    mmdsun  
       2018-09-06 19:34:17 +08:00 via Android
    MySQL 也会自己断开的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5631 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:46 · PVG 11:46 · LAX 19:46 · JFK 22:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.