テーブルを作成しようとしたところ、「行サイズが大きすぎます」というエラーが発生しました。大きな VARCHAR フィールドのいくつかを TEXT に変更しただけで、うまくいきました。しかし、行サイズの制限にどれだけ近づいているのかわかりません。テーブルの最大行サイズを決定するにはどうすればよいですか?
MySQL バージョン: 5.5。
テーブルを作成しようとしたところ、「行サイズが大きすぎます」というエラーが発生しました。大きな VARCHAR フィールドのいくつかを TEXT に変更しただけで、うまくいきました。しかし、行サイズの制限にどれだけ近づいているのかわかりません。テーブルの最大行サイズを決定するにはどうすればよいですか?
MySQL バージョン: 5.5。
これは、使用するストレージ エンジンと、そのテーブルに選択された行形式、およびインデックスによって異なります。データベースは常にその構造を変更できるため、計算するのは困難です。
ただし、VARCHAR、TEXT、および BLOB は可変長のデータ型であり、長さのプロパティがありますが、値は空にすることができます。計算が正確でない場合があります。Avg_row_length
のフィールドを見てくださいinformation_schema.tables
。
編集: 見てください: Data Type Storage Requirements。
MySQL のドキュメントには、行サイズの制限に関する大まかなガイドラインがいくつかあります。
バイトと文字は同等ではないことに注意してください。UTF-8 タイプ テーブルの AVARCHAR(255)
は、1 文字あたり 1 バイト以上としてカウントされます。デフォルトでは、3 バイトが予約されています。