- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQL5.5 MEMORYテーブル可変長)
MySQL5.5 MEMORYテーブル可変長についての質問
このQ&Aのポイント
- MySQLのMEMORYエンジンを使用したテーブルについて質問です。
- VARCHARは可変長の認識だったのですが、MEMORYエンジンの場合、固定長として扱うのか・・・
- InnoDBの時は2GB程のレコードだったのがMEMORYに変更したところmax_heap_table_size=7GBを超えてしまいました。質問の内容は以下です(1).VARCHARはMEMORYテーブルでは値の長さに関わらず領域を確保するのでしょうか(2).MEMORYテーブルで可変長を扱う方法はあるのでしょうか MySQLのバージョンは5.5.28です。難解な文章で申し訳ないですが、ご存知の方いらっしゃいましたらご教授のほどよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえずマニュアルに固定長の制限があると書いていますね memoryエンジンを使う限り仕様なのでメモリを増やすか あきらめるしかなさそうです。 http://dev.mysql.com/doc/refman/5.1/ja/memory-storage-engine.html
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
2Gが7Gというのはちょっと微妙ですが、インデックスも含めれば 2~3倍になってもおかしくないとは思います メモリより安価で取り扱いやすいSSDなどに代替した方がよろしいのでは?
補足
補足です。 Indexは16MB程しかありませんでした。