mysql:14900
From: Mikiya Okuno <Mikiya Okuno <Mikiya.Okuno@xxxxxxxxxx>>
Date: Mon, 08 Jun 2009 17:24:28 +0900
Subject: [mysql 14900] Re: MySQL Cluster varcharのrow sizeの最大値はいくつになるのか
坂井田さん、 どういたしまして。 ところで、ディスクテーブル(通称DD)を利用されているようですが、 DDを利用する際にはいくつか注意すべき点があります。 手前味噌ですが、以下のページにまとめてありますのでご覧下さい。 http://nippondanji.blogspot.com/2008/11/mysql-cluster.html また、MySQL Cluster 7.0で追加されたオプションを利用すると もっと幸せになれるかも知れません。 http://nippondanji.blogspot.com/2009/03/mysql-cluster-704-beta-has-been.html 特にテーブルスペースを作成するためのオプションが便利だと思います。 (もう既に作成してしまっていると思いますが。) -- Mikiya Okuno, MySQL Support Engineer Sun Microsystems KK, Tokyo, Japan http://www-jp.mysql.com/ On 08/06/2009, at 4:46 PM, 坂井田保彦 wrote: > 奥野さん > > ご回答ありがとうございます。TEXTの利用を検討します。 > > オンラインマニュアル、14.13. MySQL Cluster の既知の制限にも > ”1 行の許可された最大サイズは 8KB です。”という記述がありましたね。 > http://dev.mysql.com/doc/refman/5.1/ja/mysql-cluster-limitations.html > > > 2009/06/08 15:48 Mikiya Okuno <Mikiya.Okuno@xxxxxxxxxx>: > 奥野です。 > > エラーメッセージにも表示されている通り、MySQL Clusterは内部的に8052バイトという行サイズの上限があります。 > VARCHAR(2700)はutf8の場合、最大で2700 * 3 = 8100バイトになってしまいますので、行サイズの上限を > 超えてしまうことになりますので作成することが出来ません。 > > TEXTを利用するか、8052バイトの制限を超えないようにテーブルを設計しましょう。 > -- > Mikiya Okuno, MySQL Support Engineer > Sun Microsystems KK, Tokyo, Japan > http://www-jp.mysql.com/ > > On 08/06/2009, at 3:31 PM, 坂井田保彦 wrote: > > > 坂井田と申します。 > > > > MySQL Clusterをディスクベースで使用しています。 > > varcharで2700バイトのカラムを作成しようとすると、ERROR 1118が発生します。 > > クエリのストレージエンジン部分だけをInnoDBに変えて試したところテーブルを作成することができましたので > > ストレージエンジンの違いによるものだと思うのですが。。。NDBを使用した場合のvarcharのrow sizeの最大値はいくつになるのか > > お分かりになる方はいらっしゃいますか? > > > > ■NDB > > mysql> CREATE TABLE `lengthtest` ( `hoge` varchar(2700) DEFAULT NULL ) TABLESPACE ts_1 STORAGE DISK ENGINE=NDB DEFAULT CHARSET=utf8; > > ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8052. You have to change some columns to TEXT or BLOBs > > > > ■InnoDB > > mysql> CREATE TABLE `lengthtest` ( `hoge` varchar(2700) DEFAULT NULL ) TABLESPACE ts_1 STORAGE DISK ENGINE=InnoDB DEFAULT CHARSET=utf8; > > Query OK, 0 rows affected (0.24 sec) > > > > ■テストした環境 > > Red Hat ES 4.6 > > MySQL Cluster 7.0.5(RPM版) > > >
@ 14897 2009-06-08 15:31 [坂井田保彦 <yasuhiko] MySQL Cluster varcharのrow sizeの最大値はいくつになるのか 14898 2009-06-08 15:48 ┗[Mikiya Okuno <Mikiya] @ 14899 2009-06-08 16:46 ┣[坂井田保彦 <yasuhiko] -> 14900 2009-06-08 17:24 ┃┗[Mikiya Okuno <Mikiya] @ 14901 2009-06-08 19:07 ┃ ┗[坂井田保彦 <yasuhiko] 14902 2009-06-08 19:58 ┃ ┗[Mikiya Okuno <Mikiya] @ 14916 2009-06-12 09:17 ┗[坂井田保彦 <yasuhiko] 14917 2009-06-12 09:46 ┗[Mikiya Okuno <Mikiya] @ 14918 2009-06-12 13:09 ┗[坂井田保彦 <yasuhiko]