Stavo vagando quale sia il miglior design per il database di un'applicazione in cui devo archiviare molti record con blob associati (uno a uno) a loro.
È meglio usare una tabella separata per i BLOB?
La mia applicazione si basa su MySQL e Hibernate.
risposte:
2 per risposta № 1Usare una tabella separata sarebbe meglio nelun lungo gradino, soprattutto se hai molti blob. Il punto è quando li hai in una tabella insieme ad altri campi, questa tabella impiegherà più tempo a ricostruire o cambiare con tutti i blob in essi. Questa tabella sarebbe molto più veloce quando ti riferisci semplicemente al blob.
Ho cercato su Google un po 'di supporto per questa affermazione e ho trovato questa lettura lunga ma interessante: http://mysqldatabaseadministration.blogspot.com/2008/01/i-will-not-blob.html
0 per risposta № 2
La tua scelta dovrebbe dipendere dalla quantità di dati e transazioni. Se la quantità di BLOB
i dati sono inferiori (ad esempio no dei file sono inferiori a 10000) è possibile seguire questi passaggi altrimenti potrebbe essere un collo di bottiglia come da questo articolo.
Is it better to use a separate table for blobs?
Intendevi one table
con tutte le colonne come BLOB
genere.Non penso sia una buona idea.
What to do then?
BLOB
è uno dei tanti tipi di dati disponibili in SQL. La tua base di dati non dovrebbe dipendere da datatype you use
. Dì che vuoi conservare Dettagli utente compresa l'immagine dell'utente. Sento che dovrebbe esserci una colonna User
tavolo usrImage
per memorizzare l'immagine con il tipo BLOB
. È davvero importante se io uso BLOB
o non continuerei ad avere un User
tavolo.
BLOB
sono simili a qualsiasi altro tipo di dati, quindi collegali al punto in cui si inseriscono nel tuo progetto DB.