Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL PHP PDO подготвени отчети - проблеми с производителността срещу сигурност

Мисля, че това попада в категорията "преждевременна оптимизация".

Колко значителни са режийните разходи? Мерил ли си го? Влияе ли изобщо на производителността на вашия сървър?

Шансовете са, че не е така.

Положителната страна е, че имате неоспорима печалба по отношение на сигурността (което трябва да бъде основна грижа за всеки интернет базиран магазин).

От друга страна, имате риск това да повлияе на производителността. Във връзката, която предоставихте, това показва, че лошо внедрената подготовка на PDO води до малко по-ниска производителност от неподготвеното изявление при някои обстоятелства. Разликата в производителността при 5000 пуска е 0,298 секунди.

Незначителен. Още повече, когато разберете, че „неподготвените“ заявки се изпълняват без процедурите за дезинфекция на входа, които биха били необходими, за да бъдат безопасни в среда на живо. Ако не използвате подготвените заявки, имате нужда от някаква форма на дезинфекция на входа, за да предотвратите SQL атаки, и в зависимост от това как се прави, може да се наложи да върнете обратно наборите от резултати.

В крайна сметка няма значителен проблем с производителността, но има значителна полза за сигурността. Следователно официалната препоръка за използване на подготвени отчети.

Във вашия въпрос вие говорите за „общ електронен магазин“. „Общият електронен магазин“ никога няма да има достатъчно трафик, за да се тревожи за проблема с производителността, ако има такъв. Проблемът със сигурността от другата страна...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:Вмъкване на запис, ако вече съществува запис за актуализиране

  2. Как да свържете W10 Universal App с MySQL база данни

  3. Mysql СЛУЧАЙ НЕ НАМЕРЕН за СЛУЧАЙ ЗА СЛУЧАЙ в съхранена процедура

  4. Как да конвертирате html в pdf с php?

  5. Съхранявайте името на функцията в базата данни и след това я изпълнете