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