Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các câu lệnh chuẩn bị sẵn cho MySQL PHP PDO - vấn đề hiệu suất so với bảo mật

Tôi nghĩ điều này nằm trong danh mục "tối ưu hóa sớm".

Làm thế nào đáng kể là chi phí? Bạn đã đo nó chưa? Nó có ảnh hưởng đến hiệu suất máy chủ của bạn không?

Tỷ lệ cược là nó không.

Về mặt tích cực, bạn có một lợi ích không thể phủ nhận về mặt bảo mật (đây sẽ là mối quan tâm lớn đối với bất kỳ cửa hàng dựa trên internet nào).

Mặt khác, bạn có nguy cơ nó có thể ảnh hưởng đến hiệu suất. Trong liên kết bạn đã cung cấp, nó cho thấy rằng việc chuẩn bị PDO được thực hiện kém dẫn đến hiệu suất thấp hơn một chút so với tuyên bố không được chuẩn bị trong một số trường hợp. Chênh lệch hiệu suất trên 5000 lần chạy là 0,298 giây.

Tầm thường. Thậm chí nhiều hơn thế khi bạn nhận ra rằng các truy vấn "không chuẩn bị" được chạy mà không các quy trình vệ sinh đầu vào cần thiết để làm cho chúng an toàn trong môi trường sống. Nếu bạn không sử dụng các truy vấn đã chuẩn bị, bạn cần một số hình thức làm sạch đầu vào để ngăn chặn các cuộc tấn công SQL và tùy thuộc vào cách nó được thực hiện, bạn có thể cần chỉnh sửa lại các tập kết quả.

Tóm lại, không có vấn đề hiệu suất đáng kể, nhưng có một lợi ích bảo mật đáng kể. Do đó, khuyến nghị chính thức về việc sử dụng các báo cáo đã chuẩn bị.

Trong câu hỏi của bạn, bạn nói về "eshop thông thường". "Eshop thông thường" sẽ không bao giờ có đủ lưu lượng truy cập để lo lắng về vấn đề hiệu suất, nếu có. Vấn đề bảo mật ở đầu bên kia ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel Migration thêm trường sau khi dữ liệu có trong bảng?

  2. MySQL, Lỗi 126:Tệp khóa không chính xác cho bảng

  3. Truy vấn SQL trả về Toán hạng phải chứa 1 (các) cột

  4. Sử dụng JDeveloper với Cơ sở dữ liệu MySQL và Cơ sở dữ liệu Oracle trên AWS RDS, Phần 2

  5. Sắp xếp thứ tự theo giá trị trường cụ thể trước tiên