長いVARCHAR TEXTと同じ方法で保存されます / BLOB InnoDBのフィールド (これは、トランザクション性、参照整合性、およびクラッシュリカバリに使用していると思いますか?)-つまり、ディスク上の残りのテーブルの外部にあります(取得するには別のディスクの読み取りが必要になる場合があります)。
これらの列にインデックスを付ける必要がない限り(この場合、VARCHAR はるかに高速です)VARCHARを使用する理由はありません TEXT以上 長いフィールドの場合-MySQLにはエンジン固有の最適化がいくつかあります 長さに応じてデータ取得を調整します。これらを利用するには、正しい列タイプを使用する必要があります。
MyISAMを使用している場合 このトピックに関する詳細な議論は、こちら> 。