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

Domande sui tipi in MySQL

È vero che TEXT può gestire qualsiasi input che inseriresti nel campo VARCHAR o CHAR. In effetti TEXT potrebbe gestire e dati che potresti voler inserire anche in DECIMAL, INT o quasi qualsiasi altro tipo. Seguendo questa logica potremmo anche rendere ogni colonna un tipo di TESTO.

Ma questo sarebbe un errore. Come mai? Perché l'utilizzo del tipo di colonna appropriato per l'input previsto consente al database di ottimizzare meglio le query, utilizza meno spazio su disco e semplifica la comprensione e la gestione del modello di dati.

Per quanto riguarda le domande:una colonna del nome utente dovrebbe usare VARCHAR(20), poiché vorresti e ti aspetteresti che la maggior parte dei nomi utente si abbreviasse, di solito non più di 10 - 20 caratteri. Per una colonna di recensioni (come una recensione di un film o una recensione di un libro) sarebbe appropriato un tipo di TESTO poiché le recensioni possono estendersi da un singolo paragrafo a più pagine.

Per quanto riguarda gli indici, prova questo link:

http://20bits.com/articles/interview-questions-database-indexes/