2009年6月 5日

[mysql 14895] Re: バッチ処理のUPDATEでmysqld got signal 11が発生する 【再発】他に類似事象?有り

KK@xxxxx です。

私のコメントと、いただいたご回答とがどうかみ合うのか
ちょっと戸惑いを感じますが、
なさっている処理は、どれも、ターゲットのテーブルを
頭から終わりまで読み、処理をする、というもので、
大きなテーブルから、特定の一件を取り出すような
インデックスが役に立つ処理が有るように見えません。


つまり、この処理には、インデックスは不要な様に見えます。
もし、表に出ていない処理にインデックスが有効な処理が有れば
別ですが、インデックスなしのテーブルで処理された方がよいと思います。

特に、インデックスがエラーの直接の原因になっているようですし。

また、蛇足みたいなコメントですが、
DBタイプを、InnoDBにされていますが、これも必要ないように見えます。
この処理では、うまくいかなかったらロールバック、という処理は必要ないでしょう。

そうするとMyISAMの方が軽いですし...

是非、一度MyISAMテーブルで、インデックスなし、で処理を試されては
いかがでしょうか?


Subject: [mysql 14894] Re: バッチ処理のUPDATEでmysqld got signal 11が発生する
【再発】他に類似事象?有り


> 浅山です。いつもお世話になります。
>
> 全文検索の下処理としてやってます。
>
> >KK@xxxxx です。
> >
> >この処理に、インデックスは不要なように見えますね。
> >DBすらいらない。シークエンシャルファイルをCOBOLで
> >バッチ処理、みたいな感じの処理ですね。
> >
> >インデックスをとったテーブルでやってみたらいかがでしょうか?
> >
> >> 下記のような処理をしています。
> >>
> >> (1)Aテーブルを順に読み出し、レコード毎に全VARCHARフィールドと
> TEXT
> >> フィールドの値を連結し、それをBテーブルのXフィールドにINSERT。件
> 数は
> >> 約20万件。
> >>
> >> (2)上記(1)を全件処理した後、BテーブルのXフィールドを順に読み出
> し、
> >> Ngramデータを生成。そのデータをYフィールド(LONG TEXT属性)に
> >> UPDATE。UPDATEは1件当たり十キロバイト〜数十キロバイト。

投稿者 xml-rpc : 2009年6月 5日 14:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/85613
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。