Когда я должен использовать подготовленные заявления? Каждый запрос во всем моем приложении?
Да. Используйте их везде. Есть несколько крайних случаев, когда вам все еще нужен объединенный SQL и экранирование значений. Связанные параметры не могут заменить конструкцию динамического SQL.
Могу ли я использовать подготовленные выписки с INSERT?
Да. INSERT INTO tbl (x,y,z) VALUES (?,?,?)
Могу ли я использовать подготовленные операторы с переменными столбцами в моем INSERT?
Да. Но имена столбцов не могут быть связанными параметрами. Для построения динамических операторов INSERT требуется фильтр и / или экранирующая функция.
Насколько быстрее подготовлены операторы (при использовании SELECT или INSERT)
Нет общего ответа.
Увеличение скорости происходит, если вы перебираете массивы данных и повторно используете подготовленный оператор для вставки. Обычные запросы: зависит. Проверь себя.
Могу ли я использовать подготовленные операторы с UPDATE?
Да. UPDATE tbl SET x = ? AND y = ? WHERE z = ?
Почему я должен их использовать, кроме повышения скорости и безопасности?
Делает запросы SQL более читабельными.