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

Quando usare TEXT in mysql invece di VARCHAR

Un lungo VARCHAR viene memorizzato allo stesso modo di un TEXT /BLOB campo in InnoDB .

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 .

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.