Ważną kwestią, której moim zdaniem brakuje tutaj, jest to, że w przypadku bazy danych, która obsługuje zapytania parametryczne, nie trzeba się martwić o „ucieczkę”. Silnik bazy danych nie łączy powiązanych zmiennych w instrukcję SQL, a następnie analizuje całość; Powiązane zmienne są trzymane oddzielnie i nigdy nie są analizowane jako ogólna instrukcja SQL.
Stąd bierze się bezpieczeństwo i szybkość. Silnik bazy danych wie, że symbol zastępczy zawiera tylko dane, więc nigdy nie jest analizowany jako pełna instrukcja SQL. Przyspieszenie pojawia się, gdy raz przygotowujesz instrukcję, a następnie wykonujesz ją wiele razy; kanonicznym przykładem jest wstawianie wielu rekordów do tej samej tabeli. W takim przypadku silnik bazy danych musi przeanalizować, zoptymalizować itp. tylko raz.
Teraz jeden problem dotyczy bibliotek abstrakcji bazy danych. Czasami udają, że po prostu wstawiają powiązane zmienne do instrukcji SQL z odpowiednim escapem. Mimo to jest to lepsze niż robienie tego samemu.