MySQL に、ユーザー間のメッセージを記録するメッセージ テーブルがあります。一般的な ID とメッセージ タイプ (すべて整数型) とは別に、実際のメッセージ テキストを VARCHAR または TEXT として保存する必要があります。フロントエンドの制限を 3000 文字に設定しているので、これより長いメッセージはデータベースに挿入されません。
VARCHAR(3000) または TEXT のどちらかを選択する理由はありますか? VARCHAR(3000) と書くだけでは、直感に反する感じがします。Stack Overflow の他の同様の投稿も読みましたが、このタイプの一般的なメッセージ保存に特有の見解を得ることができればよいと思います。
ベストアンサー1
TEXT
BLOB
テーブルには実際のストレージの場所へのポインターのみが含まれるため、テーブル外に保存される場合もあります。保存場所は、データ サイズ、列のサイズ、row_format、MySQL のバージョンなど、さまざまな要素によって異なります。VARCHAR
テーブルとインラインで保存されます。VARCHAR
サイズが妥当な場合は高速ですが、どちらが高速になるかのトレードオフはデータとハードウェアによって異なります。実際のシナリオをデータでベンチマークする必要があります。