Вы не можете использовать метод whatever.EscapeString(string)
вместо параметров. Просто потому, что эти два варианта не равны. Они даже не связаны. Несмотря на общее убеждение, все, что удалось избежать, не предназначено для защиты и никогда не было. Он имеет очень конкретное назначение и только случайно может предотвратить внедрение SQL. Принимая во внимание, что параметризованный запрос, при правильном использовании, гарантирует защиту.
Тем не менее, использование параметров будет быстрее для множественных вставок, когда вы Prepare()
запрос один раз, а затем только execute()
, который подготовил запрос в цикле.
Я бы также порекомендовал обернуть ваши вставки в транзакцию , это может значительно ускорить процесс.