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