10 errores en MySQL cometidos por desarrolladores PHP - Plurasin

29 marzo 2016

10 errores en MySQL cometidos por desarrolladores PHP


Las bases de datos son un componente indispensable en el desarrollo de las páginas web dinámicas.
Los desarrolladores se pueden decantar por diferentes lenguajes de programación (PHP, Python, Ruby on Rails, etc) pero al final casi todos utilizan MySQL como elemento principal e indispensable para el manejo de los datos.

Muchas veces al desarrollar aplicaciones web muchos desarrolladores se enfocan mas en que se vea bien y dejan de lado un tanto la planeación de la base de datos, lo cual a la larga termina siendo contraproducente. Por lo cual siempre sera recomendable tomarse su tiempo para realizar una buena estructura de datos que nos ahorre tiempo a la larga.

Estos son algunos de los errores más comunes que se suelen cometer en MySQL.

Usar MyISAM en lugar de InnoDB
Son los dos motores de base de datos más famosos y el uso de uno u otro es una decisión bastante importante.
MyISAM es usada por defecto pero no por ello es la mejor opción, si estamos pensando en un proyecto experimental es una buena opción, sin embargo en la mayoría de ocasiones no es la mejor solución, vamos a citar alguna de las claves por las que es más recomendado el uso de InnoDB.
1. MyISAM no soporta las claves foráneas
2. Integridad de datos
3. En MyISAM con cada escritura se bloquea la tabla entera por lo que en cada “INSERT” o “UPDATE” estaremos bloqueando la tabla, a pequeña escala no se suele notar pero a medida que la exigencia de la base de datos sea mayor la disminución de rendimiento es considerable.

No filtrar la entrada de datos
Nunca debes confiar en el usuario en cuánto a la entrada de datos se refiere, para ello hay que asegurarse de filtrar y limpiar los datos en el lado del servidor y de esa manera evitar errores inesperados y posibles ataques de SQL injection.

No usar UTF-8
UTF-8 nos soluciona muchos problemas en cuanto a internacionalización de aplicaciones se refiere.

Filtrar datos con PHP en lugar de con MySQL
Cuando eres nuevo en MySQL a menudo tratas de solucionar problemas a la hora de sacar y filtrar datos con PHP esto es un grave error ya que es bastante más lento, puede que tengas que perder tiempo en investigar pero seguro que a ese problema que tienes hay una solución con MySQL.
Un ejemplo simple sería sacar la media de un valor en una tabla de la base de datos, si no sabes de MySQL seguramente trates de obtener el total en PHP y dividas las suma por el número de filas que has sacado de la tabla, esto en MySQL se puede hacer fácilmente con el uso de la función AVG().
Recuerda que en casi todos los casos será más efectiva una buena consulta con MySQL.

No optimizar las consultas
La gran mayoría de errores a la hora de escalar un proyecto se encuentran en la base de datos, por ello es muy importante tomar un tiempo en la optimización de las consultas, la elección de los índices, el tamaño de los campos y los filtros que vas a utilizar son preguntas necesarias a la hora de enfrentarte a una consulta.

Uso erróneo de tipo de datos
Hay un gran número de tipo de datos, a pequeña escala seguramente de igual una mala elección pero a medida que nuestra base de datos crece si el tipo de datos escogido es erróneo los problemas que vamos a tener van a ser grandes. Por eso antes de usar un DATETIME piensa si en ese caso específico sería más recomendable el uso de un DATE, o si el valor de un campo sabes que no va a sobrepasar cierta cantidad de cifras mira si te interesa utilizar un TINYINT en lugar de un INTEGER.

Usar * en las consultas SELECT
En muy pocos casos se tiene que recurrir al uso del * en las consultas SELECT, por varios motivos, el primer y principal motivo es que estás seguramente recogiendo más datos de los que necesitas, otro motivo es que realmente no sabes con exactitud que campos estás recuperando de la base de datos y si la consulta tiene algún JOIN la cosa se complica considerablemente.

Fuente: http://www.sitepoint.com/mysql-mistakes-php-developers/

No hay comentarios:

Publicar un comentario