在繁忙的网站上使用单例连接到MySql

时间:2011-11-04 02:15:54

标签: php mysql

我想知道使用Singleton类连接到MySQL数据库是否存在任何负面的性能问题。特别是我担心在网站繁忙时获取连接所需的时间。单身人士能够“陷入困境”吗?

public static function obtain($server=null, $user=null, $pass=null, $database=null){
   if (!self::$instance){ 
    self::$instance = new Database($server, $user, $pass, $database); 
  } 

    return self::$instance; 
}

3 个答案:

答案 0 :(得分:2)

即使你写了,每个PHP请求仍然是一个不同的连接。这就是你想要的。

答案 1 :(得分:1)

从MySQL性能的角度来看,无论你是否在这种情况下使用单例,因为对该页面的每个请求都会创建自己的对象(单例或不单元)和连接,这并不重要。

答案 2 :(得分:1)

您可以使用单例来处理数据库连接,因为即使只有一个请求,您的应用程序也可能会发送多个数据库查询,如果每次重新打开数据库连接,您将失去性能。

但请记住,您始终必须编写聪明的查询并仅为您需要的数据请求您的数据库,并尽可能少。这将使它顺利!