首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接和语句池的好处是什么?

连接和语句池的好处是什么?
EN

Stack Overflow用户
提问于 2009-01-19 11:17:18
回答 5查看 11.8K关注 0票数 22

谁能解释一下什么是连接和语句池,以及与未池化的DataSources相比有什么好处?我正在尝试理解在项目中使用像c3p0或proxool这样的技术什么时候是一个好主意。我首先需要了解它们是做什么的,以及什么时候使用它们很有趣。非常感谢。

EN

回答 5

Stack Overflow用户

发布于 2013-04-19 23:34:50

快乐的连接

每次创建一个新的连接都很容易。只有一行:就是它所需要的。没什么好考虑的。美好的生活。

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

你每次用完盘子后都会扔掉吗?

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

再次考虑连接池。

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

洗衣服还是花衣服?

你更愿意做什么:

a.洗盘子

或者每顿饭都跑到商场去买新盘子?

虽然连接池中涉及到一些任务,但从长远来看,与每次创建新连接相比,它的繁重程度要低一些。关键是要知道你的家庭(应用程序)在任何一天需要多少盘(连接)。

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

票数 59
EN

Stack Overflow用户

发布于 2009-01-19 11:23:29

创建到数据库服务器的网络连接是(相对)昂贵的。同样,要求服务器准备一条SQL语句(相对)代价也很高。

使用连接/语句池,您可以重用现有的连接/准备好的语句,从而避免启动连接、解析SQL等的成本。

票数 14
EN

Stack Overflow用户

发布于 2009-01-19 11:24:01

我对c3p0并不熟悉,但是共享连接和语句的好处包括:

  1. 性能。连接到数据库既昂贵又慢。池化连接可以保持与数据库的物理连接,并在需要数据库访问的各种组件之间共享。这样,连接成本只需支付一次,并在所有消费components.
  2. Diagnostics.上摊销如果您有一个子系统负责连接到数据库,那么诊断和分析数据库连接usage.
  3. Maintainability.就会变得更容易同样,如果您有一个子系统负责分发数据库连接,那么与每个组件连接到数据库本身相比,您的代码将更易于维护。
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/457287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档