当前位置:  开发笔记 > 编程语言 > 正文

为什么在一个请求中建立多个数据库连接是不好的做法?

如何解决《为什么在一个请求中建立多个数据库连接是不好的做法?》经验,为你挑选了1个好方法。

关于PHP中的Singletons的讨论让我越来越多地思考这个问题.大多数人都指示你不应该在一个请求中建立一堆数据库连接,而我只是好奇你的推理是什么.我的第一个想法是你的脚本向DB提出了很多请求的费用,但后来我反驳了这个问题:多个连接会不会使并发查询更有效率?

一些知情人士的答案(有证据,伙计)怎么样?



1> Derek Park..:

数据库连接是有限的资源.某些DB的连接限制非常低,浪费连接是一个主要问题.通过消耗许多连接,您可能会阻止其他人使用数据库.

此外,除非数据库服务器上的资源处于空闲状态,否则在数据库中丢弃大量额外连接对任何事情都无济于事.如果你有8个内核,只有一个用于满足查询,那么确定,建立另一个连接可能有所帮助.但是,更有可能的是,您已经在使用所有可用的核心.您也可能为每个数据库请求命中相同的硬盘驱动器,并添加额外的锁争用.

如果您的数据库具有类似高利用率的任何内容,则添加额外连接将无济于事.这就像在应用程序中产生额外的线程一样,盲目地希望额外的并发性能使处理更快.它可能在某些情况下,但在其他情况下,它只会在你颠倒硬盘驱动器时减慢速度,浪费时间任务切换,并引入同步开销.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有