0

いくつかのxmlをmysqlデータベースに保存しようとしています。ただし、これらのxmlのチャンクは、1000から1000000文字まで変化する可能性があります。文字列の長さが1kbしかない場合でも、文字列ごとに100kbを予約せずに、これをデータベースに保存するにはどうすればよいですか?

編集:

http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.htmlを確認 しました。テキストは2000文字のブロックで保存されているとのことです。興味深いのは、MEDIUMTEXTをLONGTEXTに変更すると、22kbから100kbに​​変更されることです。テキストサイズは同じだったので、約4000b(4kb)のままにする必要があります

なぜこれが起こるのか、そしてそれを防ぐ方法を知っていますか?

4

1 に答える 1

2

MySQL の可変長文字列型は、データを (その長さと一緒に) 格納するために必要なスペースのみを割り当てます。あなたの場合、MEDIUMTEXT最大1000000文字を格納できるタイプが必要になります。

于 2013-01-10T12:04:18.417 に答える