sql >> Base de Datos >  >> RDS >> Mysql

¿Almacenar archivos de imagen o URL en la base de datos MySQL? ¿Cual es mejor?

Personalmente recomiendo almacenar imágenes en la base de datos. Por supuesto, tiene ventajas y desventajas.

Ventajas de almacenar datos BLOB en la base de datos:

  • Es más fácil mantener los datos BLOB sincronizados con los elementos restantes de la fila.
  • Los datos BLOB se respaldan con la base de datos. Tener un único sistema de almacenamiento puede facilitar la administración.
  • Se puede acceder a los datos BLOB a través del soporte XML en MySQL, que puede devolver una representación codificada en base 64 de los datos en el flujo XML.
  • Las operaciones de búsqueda de texto completo (FTS) de MySQL se pueden realizar en columnas que contienen datos de caracteres de longitud fija o variable (incluido Unicode). También puede realizar operaciones FTS en datos basados ​​en texto con formato contenidos en campos de imagen, por ejemplo, documentos de Microsoft Word o Microsoft Excel.

Desventajas de almacenar datos BLOB en la base de datos:

Considere cuidadosamente qué recursos podrían almacenarse mejor en el sistema de archivos en lugar de en una base de datos. Buenos ejemplos son las imágenes a las que normalmente se hace referencia a través de HTTP HREF. Esto se debe a que:

  • Recuperar una imagen de una base de datos genera una sobrecarga significativa en comparación con el uso del sistema de archivos.
  • El almacenamiento en disco en SAN de bases de datos suele ser más costoso que el almacenamiento en discos que se usan en granjas de servidores web.