Un lungo VARCHAR viene memorizzato allo stesso modo di un TEXT /BLOB campo in InnoDB .
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 .
TEXT e BLOB vengono archiviati fuori dalla tabella con la tabella che ha solo un puntatore alla posizione dell'archiviazione effettiva.
VARCHAR viene memorizzato in linea con la tabella. VARCHAR è più veloce quando la dimensione è ragionevole.
Secondo questo test
, VARCHAR è circa tre volte più veloce del testo.