Spazio vuoto nel database MySql

Mi perdoni se non sto utilizzando il vocabolario appropriato.

Sto progettando di implementare un database MySQL con un front-end PHP in modo da poter inserire i dettagli e i file dell'ordine di lavoro (screengrabs, ZIPs, ecc.) In detto database. Come è ora, i miei ordini di lavoro precedenti vengono salvati in PST di posta elettronica ed è scomodo montarli uno alla volta per esaminare e cercare ordini di lavoro precedenti.

La descrizione di un ordine di lavoro può essere una frase breve fino a migliaia di personaggi. Se ho colonne come tipi di dati VARCHAR ( i ) o TEXT / MEDIUMTEXT, lo spazio massimo sarà assegnato a ciascun field o il database genera i campi fino alla capacità consentita dal tipo di dati?

Suppongo che sia un modo visivo di porre questa domanda, è il mio field di text una tazza che ha un volume immutabile con una quantità variabile di acqua o è un palloncino avente un volume di aria in espansione?

One Solution collect form web for “Spazio vuoto nel database MySql”

È un palloncino. Se si inserisce solo un paio di byte di text nel field, quella "cella" richiederà solo un paio di byte (più qualunque sia il costo della struttura cellulare). Questo presuppone che utilizzi uno dei motori più comuni.

La struttura delle cellule può cambiare in size però; questo non è un gioco a sum zero. Una colonna LONGTEXT richiederà 4 byte per colonna per row. Un VARCHAR occuperà solo 1 byte per colonna per row. Questi byte vengono usati per descrivere la lunghezza dei dati nella cella reale. Ora i giorni con l'immagazzinaggio sono così economici, non import se non si parla di centinaia di milioni di righe. 1 milione di righe di un LONGTEXT vuoto userà 3.82 MB e 1 milione di righe di un vuoto VARCHAR userà 0.95MB

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.