[前][次][番号順一覧][スレッド一覧]

mysql:10519

From: George Akimoto <George Akimoto <george@xxxxxxxxxx>>
Date: Sat, 27 Nov 2004 01:34:59 +0900
Subject: [mysql 10519] Re: MySQL-4.1.xのInnoDBで、大きなレコードがINSERTできない

秋元と申します。

>InnoDB-4.xでは、rowの長さが8000byteを超える
>テーブルを作成することが出来ない仕様のようです。
>(5.xでは出来るのですか?ちょっと分からないです、すみません。)

これですが、マニュアルをみると
http://dev.mysql.com/doc/mysql/en/InnoDB_restrictions.html
の3行目あたりに書かれていて、簡単に訳すと

---
行の最大長は、BLOBとTEXTコラムを除いて、データベースページの半分より少し
短い。すなわち、行の最大長はおよそ8000バイトである。
LONGBLOB及びLONGTEXTカラムは4GBより短くなければならず、BLOB及びTEXTカラ
ムを含んだ行の長さの合計は4GBより短くなければならない。
---

ということのようです。

制限事項としてマニュアルに明記しているくらいなんで、すぐには修正されない
ような気がします。
要は8000bytesを超えるならBLOBかTEXTを使えということではないでしょうか。


ちょっと気になることとしては、
http://dev.mysql.com/doc/mysql/ja/InnoDB_restrictions.html
に日本語マニュアルを見ると、

---
InnoDB の 3.23.40 以下のバージョンでは、レコードの最大長がデータベース
ページの半分よりもやや小さい。ソースリリース 3.23.41 より、BLOB および 
TEXT カラムを 4 GB 未満にすることが可能となった。レコードの合計の長さも 
4 GB 未満でなければならない。
---

とあります。

訳が古いのだと思いますが、バージョンの言及があり、読むと3.23.41以降でこ
の8000bytesの制約がなくなっていたバージョンがあったかのように取れます。

どうなんでしょう。


[前][次][番号順一覧][スレッド一覧]

   @ 10516 2004-11-26 20:09 [原田誠 <makoto@xxxxx] MySQL-4.1.xのInnoDBで、大きなレコードがINSERTできない
     10517 2004-11-26 20:33 ┗["佐野 大輔" <d-sano@]                                       
     10518 2004-11-26 21:33  ┣[原田誠 <makoto@xxxxx]                                     
->   10519 2004-11-27 01:34  ┗[George Akimoto <geor]                                     
     10526 2004-11-27 19:21   ┗[原田誠 <makoto@xxxxx]