database - 连接和语句池有什么好处?

标签 database connection-pooling c3p0

有人可以解释什么是连接和语句池以及与未池化的数据源相比有什么好处吗?我试图了解什么时候在项目中使用像 c3p0 或 proxool 这样的技术是个好主意。我首先需要了解它们的作用以及何时使用它们很有趣。非常感谢。

最佳答案

快乐连接

每次都创建一个新连接非常容易。 一行:仅此而已。没什么好想的。美好的生活。

等等。你在盘子里吃饭吗?

enter image description here

您每次使用后都会扔掉盘子吗?

不,你把它洗干净放在碗架上,这样你下次吃饭的时候就可以再用了。每次都买新盘子是不可能的。如果你那样做,你将浪费足够的钱在一年内购买一台新 iPad。

再次考虑连接池。

但这一次,连接就是你的盘子,连接池就是你的碗碟架。你的钱包和你的能量代表系统资源(内存和带宽)。

洗还是花?

你想做什么:

一个。洗碗

还是每顿饭都跑去商场买新盘子?

虽然连接池涉及一些任务,但从长远来看,与每次都创建新连接相比,它的负担要小。关键是要知道您的家人(应用程序)在任何一天需要多少盘子(连接)。

池可用于数据库连接、线程、实体 bean 和其他工厂派生对象。

关于database - 连接和语句池有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457287/

相关文章:

java - c3p0 默认连接测试器 - 如何处理错误?

c# - 使用 Web 表单将数据插入多个表

ruby-on-rails - 向我已在 SQLite 中创建的表添加索引?

database - 未知参数 "includeObjects"在命令行 liquiBase 中引发异常

java - 通过连接池建立 MySQL JDBC 连接失败 : SQL Exception: No suitable driver found

mysql - 防止在 MySQL 中缓存查询

python-3.x - Redis Cluster 是否支持使用 Python API 的连接池?

带有 c3p0 的 Postgresql - 故障转移

mysql - C3p0 和 MySql CommunicationsException : Communications link failure

mysql - 计算 value = 1 的记录的总和