数据库的连接池问题

摘要:
    连接池是用来建立一些和db的连接,使用户访问db时可以直接使用这
    些现成的连接。
    无论何时,只要客户端应用程序积极的与中间层进行通讯,那么服务
    器就会创建一个与数据库连结,并查询数据库的业务对象每个业务对
    象都维护着自己的连接。中间层创建一个新的业务对象时,该业务对
    象会创建一个新的Connection对象在连结池中。
    启动一个新的连接时,会检查连结池中现有连接。如果有打开的连接,
    那么业务对象就使用它,否则创建一个新连接。
    当应用程序请求一个连接时,连接池为该应用程序分配一个连接而不是重
    新建立一个连接;
    当应用程序使用完连接后,该连接被归还给连接池而不是直接释放。

如何实现连接池
    确保你每一次的连接使用相同的连接字符串(和连接池相同);只
    有连接字符串相同时连接池才会工作。
    如果连接字符串不相同,应用程序就不会使用连接池而是创建一个
    新的连接。每一个连接池都与一个不同的连接字符串相关,当一个
    新的连接请求到来时如果连接字符串和连接池使用的字符串相同,
    就从连接池取出一个连接;如果不相同,就新建一个连接池。
    ADO.Net中不想存储连接在连接池中:
    ①在连接字符串中添加“OLE DB Services= -4;”
    ②如果使用的是SqlDbConnection, 则添加“Pooling = False;”

优点
    如果不建立连接池,每个用户每一次访问db时都要和db建立一次连
    接, 这样db  server  容易产生连接过多的错误,用户也会觉得速
    度很慢。

缺点
    数据库连接池中可能存在着多个没有被使用的连接一直连接着数据
    库(这意味着资源的浪费)。

使用技巧
    1.当你需要数据库连接时才去创建连接池,而不是提前建立。一旦
        你使用完连接立即关闭它,不要等到垃圾收集器来处理它。
    2.在关闭数据库连接前确保关闭了所有用户定义的事务。

警告
    建议使用完 Connection 后始终将其关闭,以便连接可以返回到池
    中。不是显式关闭的连接可能不会添加或返回到池中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值