@vista1x

PDO и поддержка соединения?

Здравствуйте!

Есть класс для работы с базой данных DB. В конструкторе соединяюсь с БД (MS Access). Дело в том, что экземпляр класса создается в различных участках кода, и при отображении одной страницы может быть, что >10 раз вызывается конструктор (как я понимаю, создается 10 разных соединений?). Это приводит к тому, что запросы выполняются очень долго.
Если соединятся с бд с ключом PDO::ATTR_PERSISTENT => true, то скорость возрастает в разы, но этого не советуют делать (убедился на опыте, после 5-ти минут работы заблокировались некоторые таблицы из-за не полного выполнения скрипта, как я понял).
Собственно, хотелось бы услышать советы, как выйти из такой ситуации.
  • Вопрос задан
  • 2565 просмотров
Решения вопроса 1
Hakkunamatata
@Hakkunamatata
Зефирный-человек
Ну можно же обернуть PDO в статический класс или синглтон какой-то, который будет соединяться с БД только если соединения еще не установлено, либо использовать уже установленное соединение.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Создавать экземпляр только один раз.
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Дело в том, что экземпляр класса создается в различных участках кода

Какие проблемы? НЕ СОЗДАВАЙ экземпляр класса для работы с БД в различных участках кода
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы