Mysql
 sql >> Database >  >> RDS >> Mysql

Memorizzare file di immagine o URL nel database MySQL? Che è migliore?

Personalmente consiglio di archiviare le immagini nel database. Naturalmente presenta sia vantaggi che svantaggi.

Vantaggi della memorizzazione dei dati BLOB nel database:

  • È più facile mantenere sincronizzati i dati BLOB con gli elementi rimanenti nella riga.
  • Il backup dei dati BLOB viene eseguito nel database. Avere un unico sistema di archiviazione può facilitare l'amministrazione.
  • È possibile accedere ai dati BLOB tramite il supporto XML in MySQL, che può restituire una rappresentazione codificata in base 64 dei dati nel flusso XML.
  • Le operazioni di ricerca full-text (FTS) MySQL possono essere eseguite su colonne che contengono dati di caratteri a lunghezza fissa o variabile (incluso Unicode). È inoltre possibile eseguire operazioni FTS su dati basati su testo formattato contenuti all'interno di campi immagine, ad esempio documenti Microsoft Word o Microsoft Excel.

Svantaggi della memorizzazione dei dati BLOB nel database:

Considerare attentamente quali risorse potrebbero essere archiviate meglio nel file system piuttosto che in un database. Buoni esempi sono le immagini a cui si fa riferimento in genere tramite HTTP HREF. Questo perché:

  • Il recupero di un'immagine da un database comporta un sovraccarico significativo rispetto all'utilizzo del file system.
  • L'archiviazione su disco su SAN di database è in genere più costosa dell'archiviazione su dischi utilizzati nelle server farm Web.