восстановить соединение с базой данных или использовать старое соединение для лучшей производительности

0

У меня есть несколько классов, и все подключения к одной базе данных У меня есть класс базы данных и пользователя, профиль, класс сообщений? следует использовать расширения или просто просто глобальные и получить старое соединение, для скорости и производительности

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
}

}

теперь, который лучше для лучшей производительности.

Теги:
class
performance
extends

2 ответа

2
Лучший ответ

Лучшей практикой для корпоративных приложений является создание пула соединений с базой данных. Эти соединения всегда открыты со стороны БД.

Всякий раз, когда приложение или ваш класс должны связываться с БД, тогда класс выбирает одно соединение из пула (которое должно настраиваться) и использовать его. Это экономит время для установления соединения и отключения. Но его разработчики несут ответственность за освобождение соединения после использования обратно в пул соединений.

Это помогает,

  1. сохранение использования сервера БД в пределах
  2. Повышение производительности БД
  3. ограничение №. запросов, попадающих в БД
  4. Улучшение читаемости кода и повторного использования.

С точки зрения производительности важна не только пул соединений с БД, но и тип используемых вами операторов. рекомендуется использовать подготовленные инструкции, используя пул соединений для повышения производительности.

1

Закрытие повторного соединения занимает время (в мс). Лучше всего использовать одно глобальное соединение (открытое) все время. Это лучшие практики на всех языках программирования.

PS: Не забудьте закрыть соединение, когда оно не понадобится (например, когда пользователь закрывает программное обеспечение) :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню