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

VARCHAR vs TESTO in MySQL

Un lungo VARCHAR viene memorizzato allo stesso modo di un TEXT /BLOB campo in InnoDB (che presumo tu stia utilizzando per transazionalità, integrità referenziale e ripristino di arresto anomalo, giusto?), ovvero esternamente al resto della tabella su disco (che potrebbe richiedere la lettura di un altro disco per il recupero).

fonte

A meno che non sia necessario indicizzare queste colonne (in tal caso VARCHAR è molto più veloce) non c'è motivo di usare VARCHAR su TEXT per i campi lunghi - ci sono alcune ottimizzazioni specifiche del motore in MySQL per ottimizzare il recupero dei dati in base alla lunghezza e dovresti usare il tipo di colonna corretto per trarne vantaggio.

Se stai usando MyISAM una discussione approfondita sull'argomento è qui .