Задать вопрос
leni_m
@leni_m
ЧупаКобрус

Почему соединение с бд занимает 1 сек?

public static function getConnection()
    {
        $start = microtime(true);
        $paramsPath = ROOT . '/config/db_params.php';
        $params = include ($paramsPath);


        $dsn = "mysql:host={$params['host']};dbname={$params['dbname']}";
        $db = new PDO($dsn, $params['user'], $params['password']);
        $db->exec("set names utf8");
        echo 'Время выполнения скрипта: '.(microtime(true) - $start).' сек.';
        return $db;
    }

выводит 1 сек, в итоге там где по 3-4 запроса в бд грузится 3-4 сек. В чем проблема? Раньше все норм было
  • Вопрос задан
  • 231 просмотр
Подписаться 1 Простой 2 комментария
Решения вопроса 2
@davidnum95
Вы видимо на каждый запрос открываете новое соединение с базой. Так делать не нужно. Откройте соединение один раз и храните его в синглтоне.
Ответ написан
@Camaro67
Помог? - жми "Отметить решением"
1. Если проект развернут на windows, то там время соединения с базой идет около 1 секунды, если указано в качестве хоста localhost. Что бы это исправить укажите в качестве хоста 127.0.0.1
2. У вас скорее всего на каждый запрос открывается новое соединение, вот суммарно и получается что запросы занимают 3-4 сек.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы