重新连接到数据库或使用旧连接以获得更好的性能


reconnect to database or use old connection for better perfomance

>我有多个类,并且都连接到同一个数据库,我有我的数据库类和用户、配置文件、邮件类?我应该使用扩展还是仅使用全局并获取旧连接,以提高速度和性能

class mydb{
function connect(){
}
function query(){
}
}
$mydb = new mydb(connect);


    class user extends mydb{
    function get_usr(){
    parent::connect(); // in here I need to connect again, but I still have my connection $mydb
    $value = parent::query(string);
    return $value;
        }

class user{
function get_usr(){
global $mydb;
$value = $mydb->query(string);
return $value
}
}

现在哪一个更好 更好的性能 .

企业应用程序的最佳做法是创建与数据库的连接池。这些连接始终从数据库端打开。

每当应用程序或您的类需要与数据库通信时,类就会从池中获取一个连接(应该是可配置的)并使用它。这样可以节省建立和断开连接的时间。但其开发人员有责任在使用后将连接释放回连接池。

这有助于,

  1. 将数据库服务器利用率保持在限制范围内
  2. 提高数据库的性能
  3. 限制数。 命中数据库的查询数
  4. 提高代码的可读性和可重用性。

从性能的角度来看,不仅数据库连接池很重要,而且您使用的语句类型也很重要。 建议在使用连接池时使用预准备语句来提高性能。

关闭重新连接需要时间(以毫秒为单位)。最好始终使用一个全局连接(已打开)。这是所有编程语言的最佳实践。

PS:不要忘记在不需要时关闭连接(例如当用户关闭软件时):)