Задать вопрос
@Dolbaldor-Bender

Если в PDO использовать много подготовленных запросов они будут есть ресурсы?

Например. Я хочу поместить все подготовленные запросы которые будут использоваться в проекте списком в отдельный фаил. И подключать его в каждом месте проекта где должны выполнятся запросы. Подготовленных запросов может быть примерно 60-100.

Хочу у вас узнать: если мне нужно выполнить только один запрос из 100, остальные запросы которые я не выполняю и не посылаю в них данные не будут компилироваться? Не будут ли они тратить ресурсы сервера?

И второе. Есть предположение что компилируется запрос тогда когда запускаем выполнение execute() по тому ресурсы тратится не должны. Прошу развеять мои сомнения или не правильные предположения.

пример
$STH1 = $DBH->prepare("INSERT INTO table1 (name, addr, city) values (?, ?, ?)");
$STH2 = $DBH->prepare("INSERT INTO table2 (name, addr, city) values (?, ?, ?)");
...
$STH1->execute(); // В любом месте где это нужно
  • Вопрос задан
  • 237 просмотров
Подписаться 2 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
27cm
@27cm
TODO: Написать статус
Подключать файл с 60-100 переменными и вызовами prepare() "в каждом месте проекта где должны выполнятся запросы" и надеяться, что это не будет есть ресурсы... А что дальше? Идеальный мир с единорогами и радугой?

Не будут ли они тратить ресурсы сервера?

Будут, причём неоправданно много.

Все же хотелось подробнее. В какой момент тратятся ресурсы и на что?

Ты собираешься подключать файл, в котором будет 60-100 вызовов PDO::prepare() - на это будет расходоваться время, не зависимо от того будет вызов execute() или нет; также будет создано 60-100 переменных с объектами PDOStatement - на это будет расходоваться память. Не понятно, с чего вообще могло возникнуть такое предположение, что ресурсы тратиться не будут.

Нельзя просто так взять сделать сотню вызовов методов, создать сотню переменных и не потратить время и память.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ровно также, как Вы узнали что необходимо выполнить $STH1, возьмите данные для запроса из таблицы по ID ключевого поля.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽