Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Instruções preparadas MySQL PHP PDO - problemas de desempenho versus segurança


Acho que isso se enquadra na categoria "otimização prematura".

Quão significativa é a sobrecarga? Você já mediu? Isso afeta o desempenho do seu servidor?

As probabilidades são que não.

No lado positivo, você tem um ganho inegável em termos de segurança (o que deve ser uma grande preocupação para qualquer loja baseada na Internet).

No lado negativo, você corre o risco de afetar o desempenho. No link que você forneceu, mostra que a preparação de PDO mal implementada resulta em desempenho ligeiramente inferior à declaração não preparada em algumas circunstâncias. A diferença de desempenho em 5.000 execuções é de 0,298 segundos.

Insignificante. Ainda mais quando você percebe que as consultas "não preparadas" são executadas sem as rotinas de higienização de insumos que seriam necessárias para torná-los seguros em um ambiente vivo. Se você não usar as consultas preparadas, precisará de alguma forma de limpeza de entrada para evitar ataques SQL e, dependendo de como isso for feito, talvez seja necessário massagear os conjuntos de resultados.

Resumindo, não há problema de desempenho significativo, mas há um benefício de segurança significativo. Assim, a recomendação oficial de usar declarações preparadas.

Na sua pergunta, você fala de "eshop comum". A "eshop comum" nunca terá tráfego suficiente para se preocupar com o problema de desempenho, se houver. A questão da segurança do outro lado...