@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(); // В любом месте где это нужно
  • Вопрос задан
  • 207 просмотров
Решения вопроса 2
27cm
@27cm
TODO: Написать статус
Подключать файл с 60-100 переменными и вызовами prepare() "в каждом месте проекта где должны выполнятся запросы" и надеяться, что это не будет есть ресурсы... А что дальше? Идеальный мир с единорогами и радугой?

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
SaveTime Москва
от 100 000 руб.
Teamlead Ставрополь
от 25 000 до 50 000 руб.
от 60 000 до 80 000 руб.
17 нояб. 2019, в 21:08
15000 руб./за проект
17 нояб. 2019, в 21:03
100000 руб./за проект