¿Cuál es el más rápido en PHP- MySQL o MySQLi?



4 Answers

"Depende."

Por ejemplo, PHP MySQL vs MySQLi Database Access Metrics y los comentarios posteriores señalan argumentos en ambos sentidos.

Si tiene una base de datos y una base de datos maduras, realice algunas pruebas y vea qué funciona en su sistema. De lo contrario, deja de preocuparte por la optimización prematura.

Question

Me gustaría saber si alguien tiene alguna experiencia de primera mano con esta dicotomía. Algunos blogs dicen que la extensión mysql es más rápida que mysqli. ¿Es esto cierto?

Y solo estoy preguntando sobre la velocidad. Sé que mysqli tiene características que no están presentes en la extensión anterior.




De acuerdo con todos los resultados de Google para los puntos de referencia vinculados por ceejayoz , parece que MySQL es al menos ligeramente más rápido que MySQLi en todas las pruebas de referencia. Recomiendo leer los resultados para más detalles, pero pensé que publicaría algo que respondía directamente a la pregunta y respondía a la pregunta de ceejayoz.




Tal vez, esta puede ser una razón para hacer la elección correcta :: The Plot to Kill Extensión PHP MySQL

"Sí, lo leíste bien. Recientemente, Phillip Olson envió a la lista de correo interno de PHP una propuesta para eliminar la extensión PHP MySQL original en futuras versiones de PHP".




A menos que milisegundos importen, no se preocupe. Sin duda, si no necesita la funcionalidad adicional proporcionada por mysqli, simplemente siga con el probado y probado mysql.




MySQLi tiene dos ventajas básicas sobre MySQL ; las declaraciones preparadas son una excelente manera de evitar los ataques de inyección SQL. En segundo lugar, MySQL (o mariaDB) hará todo lo posible para optimizar las declaraciones preparadas y, por lo tanto, tiene el potencial de optimizar la velocidad allí. La velocidad aumenta al hacer que la base de datos sea feliz va a sobredimensionar la pequeña diferencia entre MySQL y MySQLi.

Si está alimentando en declaraciones, usted mismo se reúne como SELECT * FROM users WHERE ID=$user_id la base de datos tratará esto como una declaración única con cada nuevo valor de $user_id . ¿Pero una declaración preparada SELECT * FROM users WHERE ID=? tiene muchas más posibilidades de tener algunas optimizaciones / almacenamiento en caché realizadas por la base de datos.

Pero las comparaciones son bastante discutibles ya que MySQL ahora está oficialmente desaprobado . De la boca del caballo:

Funciones desaprobadas en PHP 5.5.x

ext / mysql desaprobación

La extensión original de MySQL está ahora en desuso, y generará errores E_DEPRECATED cuando se conecte a una base de datos. En su lugar, use las extensiones MySQLi o PDO_MySQL .




Related