sql >> Database >  >> RDS >> Mysql

MySQL PHP PDO voorbereide verklaringen - prestatieproblemen versus beveiliging

Ik denk dat dit in de categorie "voortijdige optimalisatie" valt.

Hoe groot is de overhead? Heb je het gemeten? Heeft het überhaupt invloed op uw serverprestaties?

De kans is groot dat dat niet zo is.

Aan de positieve kant heb je een onmiskenbare winst op het gebied van veiligheid (wat een grote zorg zou moeten zijn voor elke internetwinkel).

Aan de andere kant heb je het risico dat het de prestaties kan beïnvloeden. In de link die je hebt gegeven, blijkt dat een slecht geïmplementeerde PDO-voorbereiding in sommige omstandigheden tot iets lagere prestaties leidt dan een niet-voorbereide verklaring. Het prestatieverschil bij 5000 runs is 0,298 seconden.

Onbelangrijk. Zeker als je je realiseert dat de "niet-voorbereide" zoekopdrachten zonder . worden uitgevoerd de invoerreinigingsroutines die nodig zijn om ze veilig te maken in een live-omgeving. Als u de voorbereide query's niet gebruikt, heeft u een vorm van opschonen van invoer nodig om SQL-aanvallen te voorkomen, en afhankelijk van hoe het wordt gedaan, moet u mogelijk de resultatensets terug masseren.

Kortom, er is geen significant prestatieprobleem, maar er is een aanzienlijk beveiligingsvoordeel. Dus de officiële aanbeveling om voorbereide verklaringen te gebruiken.

In uw vraag spreekt u van "de gewone eshop". De "gewone eshop" zal nooit genoeg verkeer hebben om zich zorgen te maken over het prestatieprobleem, als dat er is. Het beveiligingsprobleem aan de andere kant...



  1. Afspelen Kan geen verbinding maken met (PostgreSQL) database [standaard]

  2. Haal de oudste datetime-waarde op met mysql

  3. WampServer - mysqld.exe kan niet starten omdat MSVCR120.dll ontbreekt

  4. Hoe SQL Server 2005-query naar CSV te exporteren