Dlouhý VARCHAR
se ukládá stejným způsobem jako TEXT
/BLOB
pole v InnoDB
.
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 .
TEXT
a BLOB
jsou uloženy mimo stůl, přičemž tabulka má pouze ukazatel na umístění skutečného úložiště.
VARCHAR
je uložen v souladu s tabulkou. VARCHAR
je rychlejší, když je velikost rozumná.
Podle tohoto testu
, VARCHAR
je asi třikrát rychlejší než text.