Guardar imagenes en mysql

Me ha vuelto a llegar de nuevo la pregunta de si es más interesante guardar las imágenes dentro de la base de datos o en el sistema de ficheros del Servidor.

Para todos aquellos que tengais dudas de cómo almacenar imagenes en MySQL, hace bastante tiempo escribí un artículo que os puede resultar interesante.

En general, mi experiencia sobre el tema me lleva a recomendar que se use el sistema de ficheros del servidor antes que guardar la imagen directamente dentro de la base de datos.

Algunos de los inconvenientes que me he encontrado:

  • lentitud en las consultas a la tabla que contiene las imágenes.
  • dificultad a la hora de recuperar las imágenes.
  • dificultad a la hora de exportar la información de la base de datos e importarla en otro servidor / base de datos.
  • sobrecarga del servidor (más pasos e instrucciones para conseguir algo que puede ser muy simple).
  • etc.

Además, el tener disponibles las imágenes en carpetas del servidor os permitirá usar de forma sencilla herramientas de redimensionado y retoque como la biblioteca GD o las de imagemagick.

Por lo tanto,  mi recomendación es – siempre que sea posible – evitar guardar las imágenes directamente en la base de datos.

Publicado por

manuel

Me dedico al desarrollo de aplicaciones. Principalmente trabajo con XHTML, CSS, Javascript, XML, JSON, PHP, MySQL, Linux/MacOS X y Flash actionscript. Intento siempre trabajar con estándares y simplificar el desarrollo y las aplicaciones finales con el objetivo de orientarlas al usuario (que sean útiles y faciliten el trabajo).

Un comentario sobre “Guardar imagenes en mysql”

  1. Hola Manuel, gracias por tus sugerencias, soy nuevo en el php, pero estoy haciendo una aplicacion que cabalmente debe de guardar imagenes y al parecer voy a poner en pratica esta sugerencia. y una preguntita donde puedo conseguir algun codigo que ya me guarde los archivos en alguna carpeta del servidor?

    gracias mil.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *