2012-04-19 16 views
5

Sto scrivendo un sito Web del forum, ma ho un problema con la progettazione del database per contenere i post in questo momento. Da quanto ho letto, phpBB 3 memorizza i dati inviati dall'utente come BLOB e alcuni memorizzano i dati come testo. C'è un vantaggio che si avrebbe rispetto a un altro? Che dire dei caratteri massimi se si dovessero memorizzare i dati come testo? Non ho mai recuperato i dati BLOB dal database e li ho analizzati in testo (o in qualsiasi altro dato esso sia destinato a tale scopo) ma penso che imparare a usarlo sarebbe interessante.blob vs testo nel forum

I dati di testo per il post saranno codificati in utf8. Sto usando il database MySQL.

Inoltre, in che modo consenti il ​​caricamento delle immagini per il forum e se le immagini devono essere memorizzate come parte del database, ad esempio in un BLOB, dovrebbero essere memorizzate come singoli file?

Qualsiasi raccomandazione/suggerimento sono benvenuti.

+1

Se si ha la codifica in gioco, si utilizza 'text'. Se si memorizzano dati binari, ad esempio il contenuto di un file nel database, si utilizza un 'blob'. Non c'è motivo di usare 'blob' per i post del forum. –

+0

Correlati: http://stackoverflow.com/questions/572850/store-text-in-blob –

+0

L'ho letto prima, ma non ha risposto alla mia domanda. Quindi la maggior parte dei siti di forum li memorizza come dati di testo e poi li recupera dal database? Era quello che stavo pensando di fare ma sono diventato insicuro una volta ho letto su BLOB e phpBB. – mma1480

risposta

9

Il testo e il blob sono quasi identici, la differenza principale è che ci si deve preoccupare della codifica quando si utilizza il BLOB. D'altra parte si sarà costretti ad utilizzare la codifica di un campo di testo ... Memorizzazione dei file nel database ha alcuni vantaggi e disatvantages:

Vantaggi:

  • backup e interruttori a un altro server sono più facile da raggiungere
  • Non c'è bisogno di aggiungere un altro metodo per accedere ai file accanto alla banca dati

Svantaggi:

  • Accesso un'immagine significa il recupero è byte e forse memorizzazione che i file locali temporanei e possono essere più complicato
  • I file system sono semplicemente più veloce a causa minori costi

Il decission è tuo, la maggior parte dei pareri che Ho sentito finora sono di memorizzare le immagini come file; ma che sono opinioni, prova a basare la tua decisione sui bisogni del tuo progetto.

+0

c'è una funzione in codeigniter per consentire all'utente di caricare le immagini? – mma1480

+0

Personalmente non ho esperienza con codeigniter, quindi non posso dirlo. Forse questo link può aiutare: [collegamento] (http://codeigniter.com/forums/viewthread/111042/) – Argeman