Многие люди знают, что важно использовать параметризованные запросы для предотвращения атак с SQL-инъекциями.производительность параметризованных запросов для разных db
Параметрированные запросы также выполняются быстрее в sqlite и oracle при обработке онлайн-транзакций, потому что оптимизатор запросов не должен повторно обрабатывать каждый параметризованный оператор sql перед выполнением. Я видел, как sqlite становится в 3 раза быстрее, когда вы используете параметризованные запросы, оракул может стать в 10 раз быстрее, когда вы используете параметризованные запросы в некоторых случаях с большим количеством параллелизма.
Как насчет других db как mysql, ms sql, db2 и postgresql?
Существует ли разница в производительности между параметризованными запросами и литералами?
Сегодня потребность в дополнительном обратном маршруте для подготовки параметризованных запросов почти устранена, так как многие СУБД поддерживают параметризованные запросы, идентифицированные с помощью равенства строки SQL. –
(продолжение комментария): Например, с sp_executesql на SQL Server или «немедленно выполнить» в Oracle. Методы «подготовки», которые все еще доступны на многих языках, которые извлекают идентификатор запроса из БД, могут использоваться только в контексте соединения и подвержены ошибкам программирования (например, при вызове «подготовить» перед каждым запросом). Строковые идентификаторы SQL могут быть повторно использованы во всем или даже в нескольких приложениях. –