Een lange VARCHAR
wordt op dezelfde manier opgeslagen als een TEXT
/BLOB
veld in InnoDB
.
Tenzij u deze kolommen moet indexeren (in dat geval VARCHAR
is veel sneller) is er geen reden om VARCHAR
te gebruiken over TEXT
voor lange velden - er zijn enkele engine-specifieke optimalisaties in MySQL
om het ophalen van gegevens af te stemmen op lengte, en u moet het juiste kolomtype gebruiken om hiervan te profiteren.
Als u MyISAM
gebruikt een diepgaande discussie over het onderwerp is hier .
TEXT
en BLOB
worden buiten de tafel opgeslagen, waarbij de tafel alleen een verwijzing heeft naar de locatie van de daadwerkelijke opslag.
VARCHAR
wordt inline met de tabel opgeslagen. VARCHAR
is sneller als de maat redelijk is.
Volgens deze test
, VARCHAR
is ongeveer driemaal zo snel als tekst.