MySQL: 大きな VARCHAR と TEXT の違いは? 質問する

MySQL: 大きな VARCHAR と TEXT の違いは? 質問する

MySQL に、ユーザー間のメッセージを記録するメッセージ テーブルがあります。一般的な ID とメッセージ タイプ (すべて整数型) とは別に、実際のメッセージ テキストを VARCHAR または TEXT として保存する必要があります。フロントエンドの制限を 3000 文字に設定しているので、これより長いメッセージはデータベースに挿入されません。

VARCHAR(3000) または TEXT のどちらかを選択する理由はありますか? VARCHAR(3000) と書くだけでは、直感に反する感じがします。Stack Overflow の他の同様の投稿も読みましたが、このタイプの一般的なメッセージ保存に特有の見解を得ることができればよいと思います。

ベストアンサー1

  • TEXTBLOB テーブルには実際のストレージの場所へのポインターのみが含まれるため、テーブル外に保存される場合もあります。保存場所は、データ サイズ、列のサイズ、row_format、MySQL のバージョンなど、さまざまな要素によって異なります。

  • VARCHARテーブルとインラインで保存されます。VARCHARサイズが妥当な場合は高速ですが、どちらが高速になるかのトレードオフはデータとハードウェアによって異なります。実際のシナリオをデータでベンチマークする必要があります。

おすすめ記事