Een lange VARCHAR
wordt op dezelfde manier opgeslagen als een TEXT
/BLOB
veld in InnoDB
(waarvan ik aanneem dat je deze gebruikt voor transactionaliteit, referentiële integriteit en crashherstel, toch?) - dat wil zeggen, extern aan de rest van de tabel op schijf (waarvoor mogelijk een andere schijf nodig is om op te halen).
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 .