Dlouhý VARCHAR se ukládá stejným způsobem jako TEXT /BLOB pole v InnoDB (předpokládám, že používáte pro transakční, referenční integritu a obnovu po havárii, že?) - tedy externě ke zbytku tabulky na disku (což může vyžadovat další čtení z disku k načtení).
Pokud nepotřebujete indexovat tyto sloupce (v takovém případě VARCHAR je mnohem rychlejší) není důvod používat VARCHAR přes TEXT pro dlouhá pole – v MySQL jsou určité optimalizace specifické pro motor vyladit načítání dat podle délky a měli byste použít správný typ sloupce, abyste toho využili.
V případě, že používáte MyISAM podrobná diskuse na toto téma je zde .