El rendimiento de las bases de datos en PHP
¿Qué sistema de acceso a una base de datos es el más rápido en PHP?
En una situación normal, un sitio web con una carga de trabajo baja (pocos usuarios concurrentes), preocuparse por utilizar el sistema más rápido es interesante, pero no esencial. Sin embargo, en un sitio web de éxito, con miles o millones de usuarios, puede ser la clave para el éxito o el hundimiento del sitio web.
En PHP se pueden usar diferentes sistemas de acceso (nativo o a través de una capa intermedia) y en cada uno de ellos existen diferentes posibilidades. Por ejemplo, para MySQL, podemos usar:
- Acceso nativo: ext/mysql o ext/mysqli (procedural u orientado a objetos).
- Acceso a través de una capa intermedia: PDO, adoDB, PEAR::DB, un framework.
Un buen banco de pruebas debería tener en cuenta múltiples factores: tipo de consulta (select, insert, update, etc.), tipo de dato (numérico, cadena, etc.), modo de ejecución (sentencia preparada, con o sin buffer, etc.). No hay muchas comparativas y las que he podido encontrar no son concluyentes, ya que algunas incluso muestran resultados contradictorios. Aquí dejo algunas:
- MySQL or MySQLi or PDO: http://we-love-php.blogspot.com.es/2012/07/mysql-or-mysqli-or-pdo.html
- PHP and MySQL, the future: http://dealnews.com/developers/php-mysql.html
- PDO vs MySQLi performance comparison: http://wooptoo.com/blog/pdo-vs-mysqli-performance-comparison/
- Database extension (MySQL, MySQLi, PDO) benchmarks: http://webdevrefinery.com/forums/topic/10380-database-extension-mysql-mysqli-pdo-benchmarks/
- Benchmarking PDO and ADOdb Database Abstraction Libraries: http://trantrietvn.blogspot.com.es/2009/10/benchmarking-pdo-and-adodb-database.html
A falta de datos concluyentes, mi recomendación es sencilla: usa el método que te parezca más sencillo.
Deja un comentario