こんにちは
鈴木123といいます。

mysqlのvarcharとtext型を調べているのですが、不定形な入力項目用のカラムをvarchar(2000)やvarchar(4000)とするのに違和感があるため、2000文字近くの入力が想定される項目を入れるカラムを作成する際text型を利用しています。
(桁数が大きいためDEFAULT値もindexも必要ないカラムです)
ネットの記事などだとvarcharもtextも中身は同じ仕組みと言いつつもvarcharを押している人が多いのですがそうなのでしょうか?
だとするとtext型が存在している必要がないんじゃないかなと考えています。
varcharの場合値は行バッファ内を、textの場合実際の値を含むチャンクへのポインタを参照していた記憶ですが、この差異にそこまで優位性があるのか気になり質問してみました。
ちなみにInnoDBを利用しています。