mysql:13674
From: "Tetsuro IKEDA" <"Tetsuro IKEDA" <ikdttr@xxxxxxxxxx>>
Date: Mon, 15 Jan 2007 15:54:15 +0900
Subject: [mysql 13674] Re: InnoDBの最小テーブルサイズ(Re: Re: InnoDBの最大テーブル数)
こんにちは。池田@住商情報です。 innobase/srv/srv0boot.c:1300行目付近に、 if (sum_of_new_sizes < 640) { fprintf(stderr, "InnoDB: Error: tablespace size must be at least 10 MB\n"); return(DB_ERROR); } ってハードコーディングされてますよ。640 ... 16KB*640=10MBです。 やはり、多数のテーブルを作成するという方法は見直したほうがいいのでは ないでしょうか? 本当にやるなら、innodbのコードをいじるだけでなく、カーネルハックとかも 必要になるのではと思います。 07/01/15 に 玉越大輝<hiroki.tamakoshi@xxxxxxxxxx> さんは書きました: > こんにちは、株式会社ビービットの玉越です。 > > InnoDBのデフォルトのテーブルサイズを少なくする方法はありますでしょうか? > > 先日、沢山のテーブルを作成することができるかどうか質問させていただきまし > たが、それは巨大なテーブルを複数のテーブルに分割するためでした。 > > 実際に分割して実験してみたのですが、今度はそれぞれのテーブルのファイルサ > イズが非常に小さくなったため、デフォルトの10MBではディスクスペースがもっ > たいなくなったためです。 > > マニュアルには最小で10MBとあるのですが、これを変えたい場合にはソースを変 > 更するしかないのでしょうか? > http://dev.mysql.com/doc/refman/4.1/ja/innodb-restrictions.html > > > ご存知の方、ご教示いただけますと幸いです。 > > > 07/01/12 に Hiroki Tamakoshi<hiroki.tamakoshi@xxxxxxxxxx> さんは書きました: > > こんにちは、株式会社ビービットの玉越です。 > > > > 早速のお返事、ありがとうございます。 > > ソースの中身まで見ていただけたのですね、ありがとうございます。 > > > > もちろん、テーブルを4,000万個も作りたくはありません。 > > 現在実装しているシステムではテーブルを分割せずにデータを蓄積しているので > > すが、1テーブルが極めて巨大になり、性能が低下しつつあるようです。 > > > > そのため、性能向上のために分割を検討しており、その数を計算したら4000万と > > いう数字になってしまいました。 > > > > 分割するにせよ、もっと効率のよい方法があるかもしれないと考え、現在情報を > > 収集しているところです。 > > > > 今回は調べていただき、本当にありがとうございました。 > > > > > > On Fri, 12 Jan 2007 14:09:45 +0900 > > Tetsuro IKEDA <te.ikeda@xxxxxxxxxx> wrote: > > > > > こんにちは。池田@住商情報システムです。 > > > > > > innodbのデータディクショナリのソースを読むと、テーブルIDは8バイトで > > > 管理しているようです。 > > > (参照:innobase/include/dict0boot.hのDICT_HDR_xxxシリーズ) > > > > > > ということで、他の条件を全て無視できるならば、 > > > 2^32 = 約40億テーブル、というのがひとつの上限かもしれません。 > > > 現実的には他の条件の方が先にひっかかるでしょう。 > > > そもそも、PAGE数の上限が40億ページなので。 > > > > > > しかし4000万個のテーブルって、性能面とかいろいろ心配な気がしますが、、、 > > > 上手くいったらコツとか教えてください(^^) > > > > > > > 株式会社ビービットの玉越です。 > > > > > > > > InnoDBで、持てるテーブルの最大数をご存知の方がいらっしゃいましたらご教示 > > > > いただけますでしょうか?探した限りでは情報が見つかりませんでした。 > > > > > > > > 現在、my.confにinnodb_file_per_tableを記述し、1テーブル=1ファイルにして > > > > います。 > > > > > > > > OSによるファイル数の制限をなしにした場合、1DB内にいくつまでテーブルを作 > > > > ることができるでしょうか? > > > > > > > > 今のところ、4,000万個程度のテーブルを作成しようと考えています。 > > > > > > > > ちなみに、実際に実験された方の結果が下記のブログに載っていました。 > > > > 262,731個まで作成したところで途中で止まってしまったとのことです。 > > > > http://bobfield.blogspot.com/2006/03/million-tables.html > > > > > > > > この方はWindows Server 2003で、一つのファイルに複数テーブルを作っている > > > > ため、私とは環境が異なります。 > > > > > > > > 私の環境は以下の通りです。 > > > > > > > > ・OS: Fedora Core > > > > ・ファイルシステム: xfs > > > > ・ulimitはunlimited > > > > ・/proc/sys/fs/file-maxは現在386343です。 > > > > 多数のテーブルを作りますが、同時に開くテーブル数は少ないのでこれはその > > > > ままでもよいと思います。 > > > > > > > > よろしくお願い致します。 > > > > > > > > > > > > -- > > > > 株式会社ビービット 玉越 大輝 > > > > ユーザビリティ コンサルタント > > > > beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx > > > > -------------------------------------------------------- > > > > 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F > > > > TEL: 03-3509-7602 / FAX: 03-3509-7605 > > > > URL: http://www.bebit.co.jp/ > > > > -------------------------------------------------------- > > > > ◆◆◆お知らせ◆◆◆ > > > > ・ビービット新刊書籍 『ユーザ中心ウェブサイト戦略』発売 > > > > http://www.bebit.co.jp/news/2006/book.html > > > > http://www.amazon.co.jp/gp/product/4797333529/ > > > > > > > > > > ----------------------------------------- > > > Tetsuro IKEDA, te.ikeda at jpta.scs.co.jp > > > Kachidoki, Tokyo, Jpan > > > http://www.scs.co.jp/mysql/ > > > ----------------------------------------- > > > > > > > > > > -- > > 株式会社ビービット 玉越 大輝 > > ユーザビリティ コンサルタント > > beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx > > -------------------------------------------------------- > > 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F > > TEL: 03-3509-7602 / FAX: 03-3509-7605 > > URL: http://www.bebit.co.jp/ > > -------------------------------------------------------- > > ◆◆◆お知らせ◆◆◆ > > ・ビービット新刊書籍 『ユーザ中心ウェブサイト戦略』発売 > > http://www.bebit.co.jp/news/2006/book.html > > http://www.amazon.co.jp/gp/product/4797333529/ > > > > > > > > > -- > 株式会社ビービット 玉越 大輝 > ユーザビリティ コンサルタント > beBit,Inc. Tamakoshi Hiroki hiroki.tamakoshi@xxxxxxxxxx > -------------------------------------------------------- > 〒105-0001 東京都港区虎ノ門1-18-1 虎ノ門10森ビル7F > TEL: 03-3509-7602 / FAX: 03-3509-7605 > URL: http://www.bebit.co.jp/ > -------------------------------------------------------- > >
13673 2007-01-15 14:56 ["玉越大輝" <hiroki.t] InnoDBの最小テーブルサイズ(Re: Re: InnoDBの最大テーブル数) -> 13674 2007-01-15 15:54 ┗["Tetsuro IKEDA" <ikd] 13675 2007-01-15 16:05 ┗["玉越大輝" <hiroki.t]