Подготовленные операторы выполняются намного быстрее, когда вам нужно запускать один и тот же оператор несколько раз с разными данными. Это связано с тем, что SQL будет проверять запрос только один раз, тогда как если вы просто используете оператор, он будет проверять запрос каждый раз.
Другое преимущество использования PreparedStatements заключается в том, чтобы избежать уязвимости SQL-инъекций.
===========================
MySQL && MariaDB Servers
===========================
Оптимизация производительности MySQL требует возможности проверять трафик рабочих запросов. Если вы не видите рабочую нагрузку вашего приложения, вы упускаете важную часть картины.
В частности, существует множество оптимизаций производительности ваших систем, о которых вы не знаете. Одним из них является использование подготовленных операторов для запросов.
What Are Prepared Statements?
Подготовленный оператор — это оператор SQL с заполнителями параметров, который отправляется на сервер базы данных и готовится к повторному выполнению. Это оптимизация производительности и мера безопасности; он защищает от таких атак, как внедрение SQL-кода, когда злоумышленник перехватывает незащищенную конкатенацию строк для создания вредоносных запросов. В MySQL, как и в большинстве баз данных, вы сначала отправляете SQL на сервер и просите подготовить его с заполнителями для параметров привязки. Сервер отвечает идентификатором оператора. Затем вы отправляете команду выполнения на сервер, передавая ему идентификатор оператора и параметры.