使用PHP,什么更快:多个DB连接类实例还是单实例?

使用PHP,什么更快:多个DB连接类实例还是单实例?,php,mysql,oop,Php,Mysql,Oop,我正在处理一个新的PHP项目,该项目调用records类来更新数据库。当前,需要这样做的每个对象或脚本都会生成该对象的新实例。理论上,这可能意味着每次调用多达6到7个实例 该设计当前要求对象在构造函数方法中连接到数据库,这意味着0到7个连接 对于演示,我将只使用MySQL,但由于它都隐藏在一个单一的接口后面,人们可以想象它可以很容易地移植到其他数据存储(可能会) 考虑到项目的性质,响应速度是关键的优化点。然而,由于连接太多,我是否会在需求高的情况下承担系统过载的风险,从而降低速度 在这种情况下使

我正在处理一个新的PHP项目,该项目调用records类来更新数据库。当前,需要这样做的每个对象或脚本都会生成该对象的新实例。理论上,这可能意味着每次调用多达6到7个实例

该设计当前要求对象在构造函数方法中连接到数据库,这意味着0到7个连接

对于演示,我将只使用MySQL,但由于它都隐藏在一个单一的接口后面,人们可以想象它可以很容易地移植到其他数据存储(可能会)

考虑到项目的性质,响应速度是关键的优化点。然而,由于连接太多,我是否会在需求高的情况下承担系统过载的风险,从而降低速度

在这种情况下使用单例会更好(总体上更快)吗


还是有什么办法可以吃我的蛋糕?

连接到数据库服务器需要时间来连接,并且会消耗内存。数据库服务器同时接受的连接数也是有限的。这就是为什么连接数应该尽可能少的原因,这意味着只能使用到同一数据库的单个连接


仅使用一个连接并不意味着您必须使用
Singleton
模式。只需在脚本开头的某个位置创建连接对象,并将其传递给将执行DB查询的组件。

连接到数据库服务器需要时间,并且会消耗内存。数据库服务器同时接受的连接数也是有限的。这就是为什么连接数应该尽可能少的原因,这意味着只能使用到同一数据库的单个连接


仅使用一个连接并不意味着您必须使用
Singleton
模式。只需在脚本开头的某个位置创建连接对象,并将其传递给将执行DB查询的组件。

连接到数据库服务器需要时间,并且会消耗内存。数据库服务器同时接受的连接数也是有限的。这就是为什么连接数应该尽可能少的原因,这意味着只能使用到同一数据库的单个连接


仅使用一个连接并不意味着您必须使用
Singleton
模式。只需在脚本开头的某个位置创建连接对象,并将其传递给将执行DB查询的组件。

连接到数据库服务器需要时间,并且会消耗内存。数据库服务器同时接受的连接数也是有限的。这就是为什么连接数应该尽可能少的原因,这意味着只能使用到同一数据库的单个连接


仅使用一个连接并不意味着您必须使用
Singleton
模式。只需在脚本开头的某个位置创建连接对象,并将其传递给将执行DB查询的组件。

我可以向您推荐两种解决方案:

  • 如果可以,请使用存储过程,它将减少Mysql连接的数量,提高安全性和缓存速度

  • 第一次使用Mysql连接,然后将数据保存到Redis或Memcached中

  • 它打算解决您的疑问和需求


    谢谢

    我可以向您推荐两种解决方案:

  • 如果可以,请使用存储过程,它将减少Mysql连接的数量,提高安全性和缓存速度

  • 第一次使用Mysql连接,然后将数据保存到Redis或Memcached中

  • 它打算解决您的疑问和需求


    谢谢

    我可以向您推荐两种解决方案:

  • 如果可以,请使用存储过程,它将减少Mysql连接的数量,提高安全性和缓存速度

  • 第一次使用Mysql连接,然后将数据保存到Redis或Memcached中

  • 它打算解决您的疑问和需求


    谢谢

    我可以向您推荐两种解决方案:

  • 如果可以,请使用存储过程,它将减少Mysql连接的数量,提高安全性和缓存速度

  • 第一次使用Mysql连接,然后将数据保存到Redis或Memcached中

  • 它打算解决您的疑问和需求


    谢谢你看。它对每个连接使用单例方法,并跨多个适配器(例如mysql、memcached等)处理多个连接。

    请看。它对每个连接使用单例方法,并跨多个适配器(例如mysql、memcached等)处理多个连接。

    请看。它对每个连接使用单例方法,并跨多个适配器(例如mysql、memcached等)处理多个连接。

    请看。它对每个连接使用单例方法,并跨多个适配器(例如mysql、memcached等)处理多个连接。

    一般来说,您不需要创建DB连接来移动蚁丘中的每个分支。您可以很容易地使用一个静态类变量来处理连接,每个实例都可以随心所欲地使用它。PDO接口在标准化数据库管理方面做得相当好,因此如果支持多个数据库引擎,这将是我的首选工具。在每个数据库操作上建立新连接不仅效率极低,而且是设计糟糕的标志。使用依赖项注入将DB连接对象的单个实例传递给每个需要它的对象。单例,我指的是单例,不是单例,顺便说一句,这也是我的总体印象。也就是说,我有点担心被指控过早优化。@lafor-你能给sampl看看吗