長いVARCHAR TEXTと同じ方法で保存されます / BLOB InnoDBのフィールド 。
これらの列にインデックスを付ける必要がない限り(この場合、VARCHAR はるかに高速です)VARCHARを使用する理由はありません TEXT以上 長いフィールドの場合-MySQLにはエンジン固有の最適化がいくつかあります 長さに応じてデータ取得を調整します。これらを利用するには、正しい列タイプを使用する必要があります。
MyISAMを使用している場合 このトピックに関する詳細な議論は、こちら> 。
TEXT およびBLOB テーブルは実際のストレージの場所へのポインタを持っているだけで、テーブルから離れて保存されます。
VARCHAR テーブルとインラインで保存されます。 VARCHAR サイズが妥当な場合は高速です。
このテスト
によると 、VARCHAR テキストの約3倍の速さです。