mysql:15911
From: 久光 一誠 <久光 一誠 <ds1i-hsmt@xxxxxxxxxx>>
Date: Wed, 9 Jan 2013 11:19:34 +0900
Subject: [mysql 15911] Re: 主キーがないMyISAMの上限行数
yokuさん、坂田さん 情報ありがとうございます。 現状では行数制限もファイルサイズ制限も尋常じゃないほど広大ですね。 勉強になりました。 ありがとうございます。 On 2013/01/08, at 18:10, "yoku ts." <yoku0825@xxxxxxxxxx> wrote: > こんにちは。 > > 5.0.6まではテーブルのサイズが4TBになるように > MAX_ROWSの値が自動設定されていたようです。。 > > http://dev.mysql.com/doc/refman/5.0/en/create-table.html > > > yoku ts. > > 2013年1月8日 15:35 坂田W <w189150@xxxxxxxxxx>: >> 坂田と申します。 >> こちらの情報から教授いただいたと思いますが。 >> 以前 4千万弱行くらいでデータを追加できなくなり次の設定で可能となりました。 >> ALTER TABLE テーブル名 MAX_ROWS=80000000; >> >> それ以降問題なく動いてます。(現在6千万行くらい) >> >> >> ----- Original Message ----- From: "yoku ts." <yoku0825@xxxxxxxxxx> >> To: <ml@xxxxxxxxxx> >> Sent: Monday, January 07, 2013 10:15 AM >> Subject: [mysql 15908] Re: 主キーがないMyISAMの上限行数 >> >> >>> おはようございます。 >>> >>> ソースコードまでは読んでいませんが、現存する行数だと思います。 >>> >>> ドキュメントのいわく、MyISAMのMYDファイルは >>> row_idのようなものはテーブル構造中に持ち合わせていない様です。 >>> (16進ダンプで覗いてみましたが、やっぱり持っていないようです) >>> >>> http://dev.mysql.com/doc/internals/en/myisam-record-structure.html >>> >>> >>> yoku ts. >>> >>> 2013年1月7日 9:49 久光 一誠 <ds1i-hsmt@xxxxxxxxxx>: >>>> >>>> yokuさんありがとうございます。 >>>> >>>> >>>> おしえていだたいだ情報の >>>> >>>> There is a limit of (2^32)^2 (1.844E+19) rows in a MyISAM table. >>>> >>>> >>>> というのは文字通り現存する行数の上限なんでしょうか。それとも内部でauto_incrementみたいないカウンタがあってそれが2^64行分を消費すると限界になるという意味なんでしょうか。 >>>> >>>> >>>> 2^64というとちょうどBIGINTの幅と同じなので、MyISAMは内部でBIGINTのauto_incrementを持っていてそれが上限なのかなとも思うのです。あるいは内部的にBIGINTのキーみたいなものは持っているけどauto_incrementと違ってalter >>>> tableをやれば現存する 行数分に整理されて、やっぱり現存する行数が2^64なければそれでいいということなんでしょうか。 >>>> >>>> >>>> これだけの行数があればどっちでも問題にはならないことはわかったので個人的な興味ではあるのですが、どなたか知ってる方いらっしゃいますか? >>>> >>>> >>>> >>>> On 2013/01/06, at 15:17, "yoku ts." <yoku0825@xxxxxxxxxx> wrote: >>>> >>>>> こんにちは、yokuといいます。 >>>>> >>>>> ・2^64行の行数制限 >>>>> ・(ファイルシステム側のファイルサイズ制限とは別に)256TBのファイルサイズ制限 >>>>> >>>>> がありそうです。 >>>>> http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html >>>>> >>>>> >>>>> yoku ts. >>>>> >>>>> >>>>> >>>>> >>>>> 2013年1月6日 11:53 久光 一誠 <ds1i-hsmt@xxxxxxxxxx>: >>>>>> >>>>>> 久光と申します。 >>>>>> >>>>>> >>>>>> INTを主キーにしているMyISAMはINTの数が行数の上限になると思うのですが、主キーを設定していないテーブルの場合はOSの最大ファイル容量まで作成できるのでしょうか。それとも内部的にユニークな何かが設定されていてINSERTやDELETEを繰り返すしてそれが上限に達するとテーブルのファイルサイズが小さくても限界になってしまうのでしょうか。 >>>>>> >>>>>> >>>>>> 自分がやってる仕事では今のところINTを主キーにしていても使い切るのはほぼ不可能な状況なので直面している問題ではないのですが後学のために知っておきたいです。 >>>>>> >>>>>> よろしくお願いします。 >>>>>> >>>>>> >>>> >>>> >>> >> >>
15905 2013-01-06 11:53 [久光 一誠 <ds1i-hsmt] 主キーがないMyISAMの上限行数 15906 2013-01-06 15:17 ┗["yoku ts." <yoku0825] 15907 2013-01-07 09:49 ┗[久光 一誠 <ds1i-hsmt] 15908 2013-01-07 10:15 ┗["yoku ts." <yoku0825] 15909 2013-01-08 15:35 ┗[坂田W <w189150@xxxxx] 15910 2013-01-08 18:10 ┗["yoku ts." <yoku0825] -> 15911 2013-01-09 11:19 ┗[久光 一誠 <ds1i-hsmt]