Một số trình điều khiển PDO không hỗ trợ các câu lệnh chuẩn bị sẵn, vì vậy PDO thực hiện mô phỏng chuẩn bị. Nó cũng cho phép bạn kích hoạt mô phỏng này theo cách thủ công.
Kiểm tra PDO::ATTR_EMULATE_PREPARES
thuộc tính. Nó được ghi chép kém trong sách hướng dẫn PDO hiện tại. Được ghi chép kém, ý tôi là nó có vẻ chỉ trong các nhận xét trên trang web, không phải trong chính sách hướng dẫn.
Nói chung, bạn muốn sử dụng các câu lệnh chuẩn bị sẵn bất cứ khi nào có thể. Trong trường hợp của MySQL, nếu bạn đang tận dụng bộ đệm truy vấn, bạn có thể thực sự muốn tắt các câu lệnh chuẩn bị sẵn trong PDO! Hướng dẫn sử dụng MySQL có thêm thông tin , nhưng phiên bản ngắn là các phiên bản trước 5.1.17 không chạy các câu lệnh chuẩn bị thông qua bộ đệm truy vấn và các phiên bản tiếp theo chỉ sử dụng bộ đệm truy vấn trong các điều kiện cụ thể (nhưng phổ biến) nhất định.
(Một số người khuyên bạn nên tắt hoàn toàn bộ đệm truy vấn. Sử dụng kích thước bộ nhớ cache lớn thực sự có thể là một thành công lớn về hiệu suất.)