Mysql
 sql >> Base de données >  >> RDS >> Mysql

Stocker des fichiers image ou des URL dans la base de données MySQL ? Ce qui est mieux?

Je recommande personnellement de stocker des images dans la base de données. Bien sûr, c'est à la fois des avantages et des inconvénients.

Avantages du stockage des données BLOB dans la base :

  • Il est plus facile de conserver les données BLOB synchronisées avec les éléments restants de la ligne.
  • Les données BLOB sont sauvegardées avec la base de données. Avoir un système de stockage unique peut faciliter l'administration.
  • Les données BLOB sont accessibles via la prise en charge XML de MySQL, qui peut renvoyer une représentation codée en base 64 des données dans le flux XML.
  • Les opérations de recherche de texte intégral MySQL (FTS) peuvent être effectuées sur des colonnes contenant des données de caractères de longueur fixe ou variable (y compris Unicode). Vous pouvez également effectuer des opérations FTS sur des données textuelles formatées contenues dans des champs d'image, par exemple des documents Microsoft Word ou Microsoft Excel.

Inconvénients du stockage des données BLOB dans la base de données :

Considérez soigneusement quelles ressources pourraient être mieux stockées sur le système de fichiers plutôt que dans une base de données. De bons exemples sont les images qui sont généralement référencées via HTTP HREF. C'est parce que :

  • La récupération d'une image à partir d'une base de données entraîne une surcharge importante par rapport à l'utilisation du système de fichiers.
  • Le stockage sur disque sur les SAN de bases de données est généralement plus coûteux que le stockage sur disques utilisés dans les batteries de serveurs Web.