关于你这个问题,回答起来比较罗嗦,所以嫌你分给的少了点。 首先你的思维是单线程的思维,当多个线程去访问数据库的时候,你可能要建立多个数据连接分别给每个线程单独的处理业务,此时你就需要连接池了。 其次,在每次使用完连接以后,一般都要把连接资源回收,以便于其它线程或者应用使用数据库连接,数据库的连接是有限的,长时间占用数据库连接会阻碍其它应用使用数据库。 然后,根据上一条问题,应用很可能会频繁的创建和关闭数据库连接,这会损耗数据库性能和应用性能,因此需要缓存一部分活动连接来不断使用,这就需要连接池来进行这种缓存的管理,因为他要保证一个有效的数值范围,即防止频繁建立和关闭连接的性能损耗又不阻碍其它应用对数据库的使用。 最后,连接本身有很多自己的属性和配置,以及重置和初始化的功能等等,这些并不适合在业务逻辑中去实现,又一个专门的连接池功能去管理来隔离模块对这些也无关代码的关心。 总结一下就是,连接池就是全方位有效管理数据库连接的体系结构。
62,614
社区成员
307,327
社区内容
加载中
试试用AI创作助手写篇文章吧