¿Las consultas preparadas de MySQL proporcionan un beneficio de rendimiento para las consultas de una vez por sesión?

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

Pregunta

Según la documentación, una consulta preparada proporciona un beneficio de rendimiento significativo si está ejecutando una consulta varias veces porque la sobrecarga del servidor MySQL que analiza la consulta solo ocurre una vez. Me pregunto qué quieren decir exactamente con "varias veces". allí.

Es decir, digamos que tiene una página web que ejecuta una consulta una vez. Ahora digamos que esa página se llama 50 veces por segundo. ¿Tiene más sentido desde el punto de vista del rendimiento preparar () la consulta (lo que requiere dos viajes de ida y vuelta al servidor de base de datos; uno para preparar la consulta, otro para ejecutarla) o simplemente enviar la consulta normalmente (que solo requiere un viaje de ida y vuelta) ? ¿Es MySQL y / o el controlador mysqli de PHP lo suficientemente inteligente como para darse cuenta cuando se preparó una consulta () 'en una invocación previa?

¿Fue útil?

Solución

No. PHP es un '' nada compartido '' arquitectura, por lo que cada recurso asociado con una solicitud (una vista de página) se descarta al final de esa solicitud. Las consultas preparadas no están disponibles para conexiones de base de datos posteriores.

El escenario en el que se beneficiaría de una consulta preparada es cuando la prepara y ejecuta muchas veces durante la misma solicitud PHP .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top