Do MySQL preparado consultas fornecer um benefício de desempenho para consultas de uma vez por sessão?

StackOverflow https://stackoverflow.com/questions/322319

Pergunta

De acordo com a documentação, uma consulta preparada fornece um benefício significativo desempenho se você estiver executando uma consulta várias vezes porque a sobrecarga do servidor MySQL análise da consulta só acontece uma vez. Eu estou querendo saber o que exatamente eles querem dizer com "várias vezes" lá.

i., Digamos que você tem uma página web que executa uma vez que uma consulta. Agora dizem que a página é chamado 50 vezes por segundo. Faz mais sentido do ponto de vista de desempenho para preparar () a consulta (o que exige dois roundtrips para o servidor DB: uma para preparar a consulta, um para executá-lo) ou apenas para enviar a consulta normalmente (que requer apenas uma ida e volta) ? É MySQL e / ou o driver PHP mysqli inteligente o suficiente para perceber quando uma consulta foi preparar () 'd em uma chamada anterior?

Foi útil?

Solução

No. PHP é uma arquitetura de "compartilhada nada", então todos os recursos associados a um pedido (uma exibição de página) é descartada no final desse pedido. As consultas preparadas não estão disponíveis para um banco de dados conexões posterior.

O cenário em que você iria se beneficiar de uma consulta preparada é quando você prepará-lo e executá-lo muitas vezes durante o pedido mesma PHP .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top