martes, 13 de septiembre de 2011

PostHeaderIcon 10 Típicos errores MySQL en los desarrolladores PHP


Hace ya unos meses desde Baluart nos dejaron un interesante tutorial se nos explicaban los 10 principales errores MySQL que suelen cometerse por parte de los desarrolladores PHP.
Todo sea recordarlos, y no caer en ellos:
  • Usar MyISAM en vez de InnoDB: Usa MyISAM sólo para bases de datos sencillas o de pruebas ya que no soporta restricciones de claves foráneas o transacciones y bloquea toda la tabla cuando se inserta o actualiza un registro. Imaginaos esto en una aplicación web a gran escala que tiene 1 millón de visitas diarias.
  • Usar las funciones MySQL de PHP: A partir de la versión MySQL 4.1.3 se debe dejar de usar musql_query, mysql_fetch_assoc, etc .. para usar mysqli con interfaz orientada a objetos y muchas ventajas (Ver mysqli)
  • No validar el acceso de usuarios: No se debe confiar de lo que el usuario pueda escribir, hay que validar la cadena de texto que recibimos para evitarSQL Injections
  • No usar UTF-8: Es preferible usar UTF-8 ya que resuelve muchos problemas de internacionalización.
  • Favorecer a PHP sobre SQL: Hay que dar prioridad a SQL sobre PHP ya que hará que nuestras aplicaciones sean mas rápidas. La mejor forma es usando las funciones nativas de MySQL.
  • No optimizar tus consultas: El no optimizar tus consulas a la base de datos da muchisimos problemas de rendimiento. Optimiza y vencerás!. Si no sabes como optimizar una base de datos, aqui tienes unos consejos.
  • Usar los tipos de datos equivocados: Es importantísimo utilizar los tipos de datos específicos para cada fin. Si vas a insertar fechas lo más normal es que uses tipos de datos de fecha no STRING como se ve en algunos casos. Esto puede complicar las consultas a las tablas.
  • Usar * en las consultas SELECT: Cuando queramos recuperar una serie de campos de una tabla no tenemos porque hacer una consulta que recupere todo, indica en la consulta sólo lo que quieres recuperar, la consulta ganará en optimización.
  • Sub o Sobre Indexación: Trabaja con Indices, hará que tus consultas sean mucho más rápidas ya que no tendrá que recorrer todos los registros hasta encontrar el deseado. Ten cuidado de no caer en la tentación de poner índices en todos los campos, es contraproducente.
  • Olvidarse de hacer backups: Pueden pasar infinidad de cosas en el servidor y tenemos que estar preparados para poder recuperar nuestro contenido. No olvidaros de hacer backups.
  • De regalo otro error, Bonus mistake: No considerar otras bases de datos:



Para ver el tutorial al completo visitar el artículo de Baluart o pinchando en la imagen.

0 comentarios:

Publicar un comentario

Blog Archive

Blogs Interesantes

Secti Tecnología, S.L. Con la tecnología de Blogger.