Niektóre sterowniki PDO nie obsługują natywnych instrukcji przygotowanych, więc PDO wykonuje emulację przygotowania. Pozwala także ręcznie włączyć tę emulację.
Sprawdź PDO::ATTR_EMULATE_PREPARES
atrybut. Jest to słabo udokumentowane w aktualnej instrukcji PDO. Przez słabo udokumentowane mam na myśli, że pojawia się tylko w komentarzach na stronie, a nie w samej instrukcji.
Ogólnie rzecz biorąc, gdy tylko jest to możliwe, chcesz używać natywnych instrukcji przygotowanych. W przypadku MySQL, jeśli korzystasz z pamięci podręcznej zapytań, możesz faktycznie wyłączyć natywne przygotowane wyciągi w PDO! Instrukcja MySQL zawiera więcej informacji , ale krótka wersja jest taka, że wersje wcześniejsze niż 5.1.17 nie uruchamiają przygotowanych instrukcji przez pamięć podręczną zapytań, a kolejne wersje używają pamięci podręcznej zapytań tylko w określonych (ale powszechnych) warunkach.
(Niektórzy zalecają całkowite wyłączenie pamięci podręcznej zapytań. Korzystanie z duże rozmiary pamięci podręcznej może być prawdziwym hitem wydajności.)