Mysql
 sql >> Base de données >  >> RDS >> Mysql

Instructions préparées MySQL PHP PDO - problèmes de performances par rapport à la sécurité

Je pense que cela tombe dans la catégorie "optimisation prématurée".

Quelle est l'importance des frais généraux ? L'avez-vous mesuré ? Cela affecte-t-il les performances de votre serveur ?

Il y a de fortes chances que ce ne soit pas le cas.

Du côté positif, vous avez un gain indéniable en termes de sécurité (ce qui devrait être une préoccupation majeure pour toute boutique en ligne).

En revanche, vous courez le risque que cela affecte les performances. Dans le lien que vous avez fourni, il montre qu'une préparation PDO mal implémentée entraîne des performances légèrement inférieures à une instruction non préparée dans certaines circonstances. La différence de performances sur 5000 exécutions est de 0,298 seconde.

Insignifiant. D'autant plus quand on se rend compte que les requêtes "non préparées" sont exécutées sans les routines de désinfection des entrées qui seraient nécessaires pour les rendre sûres dans un environnement réel. Si vous n'utilisez pas les requêtes préparées, vous avez besoin d'une forme de nettoyage des entrées pour empêcher les attaques SQL, et selon la façon dont cela est fait, vous devrez peut-être masser les ensembles de résultats.

En bout de ligne, il n'y a pas de problème de performances significatif, mais il y a un avantage de sécurité significatif. D'où la recommandation officielle d'utiliser des déclarations préparées.

Dans votre question, vous parlez de "l'eshop commun". Le « eshop commun » n'aura jamais assez de trafic pour se soucier du problème de performance, s'il y en a un. Le problème de sécurité à l'autre bout...