mysql:14895
From: "Kaname Kuji\(Y7\)" <"Kaname Kuji\(Y7\)" <kkuji@xxxxxxxxxx>>
Date: Fri, 5 Jun 2009 14:44:57 +0900
Subject: [mysql 14895] Re: バッチ処理のUPDATEでmysqld got signal 11が発生する 【再発】他に類似事象?有り
KK@IB です。 私のコメントと、いただいたご回答とがどうかみ合うのか ちょっと戸惑いを感じますが、 なさっている処理は、どれも、ターゲットのテーブルを 頭から終わりまで読み、処理をする、というもので、 大きなテーブルから、特定の一件を取り出すような インデックスが役に立つ処理が有るように見えません。 つまり、この処理には、インデックスは不要な様に見えます。 もし、表に出ていない処理にインデックスが有効な処理が有れば 別ですが、インデックスなしのテーブルで処理された方がよいと思います。 特に、インデックスがエラーの直接の原因になっているようですし。 また、蛇足みたいなコメントですが、 DBタイプを、InnoDBにされていますが、これも必要ないように見えます。 この処理では、うまくいかなかったらロールバック、という処理は必要ないでしょう。 そうするとMyISAMの方が軽いですし... 是非、一度MyISAMテーブルで、インデックスなし、で処理を試されては いかがでしょうか? Subject: [mysql 14894] Re: バッチ処理のUPDATEでmysqld got signal 11が発生する 【再発】他に類似事象?有り > 浅山です。いつもお世話になります。 > > 全文検索の下処理としてやってます。 > > >KK@IB です。 > > > >この処理に、インデックスは不要なように見えますね。 > >DBすらいらない。シークエンシャルファイルをCOBOLで > >バッチ処理、みたいな感じの処理ですね。 > > > >インデックスをとったテーブルでやってみたらいかがでしょうか? > > > >> 下記のような処理をしています。 > >> > >> (1)Aテーブルを順に読み出し、レコード毎に全VARCHARフィールドと > TEXT > >> フィールドの値を連結し、それをBテーブルのXフィールドにINSERT。件 > 数は > >> 約20万件。 > >> > >> (2)上記(1)を全件処理した後、BテーブルのXフィールドを順に読み出 > し、 > >> Ngramデータを生成。そのデータをYフィールド(LONG TEXT属性)に > >> UPDATE。UPDATEは1件当たり十キロバイト〜数十キロバイト。
14884 2009-05-26 17:16 [<ALCYONE@xxxxxxxxxx>] バッチ処理のUPDATEでmysqld got signal 11が発生する 14885 2009-05-26 17:32 ┣[Katsutoshi Nakatomi ] 14886 2009-05-26 18:51 ┗[Tetsuro IKEDA <ikdtt] 14888 2009-05-27 09:24 ┗[<ALCYONE@xxxxxxxxxx>] 14889 2009-05-28 12:52 ┗[<ALCYONE@xxxxxxxxxx>] Re: バッチ処理のUPDATEでmysqld got signal 11が発生する 【再発】 14890 2009-06-05 10:49 ┗[<ALCYONE@xxxxxxxxxx>] Re: バッチ処理のUPDATEでmysqld got signal 11が発生する 【再発】他に類似事象?有り 14891 2009-06-05 11:39 ┗["Kaname Kuji\(Y7\)" ] 14892 2009-06-05 12:16 ┗[<ALCYONE@xxxxxxxxxx>] 14893 2009-06-05 12:44 ┗["Kaname Kuji\(Y7\)" ] 14894 2009-06-05 12:53 ┗[<ALCYONE@xxxxxxxxxx>] -> 14895 2009-06-05 14:44 ┗["Kaname Kuji\(Y7\)" ] 14913 2009-06-10 12:57 ┗[<ALCYONE@xxxxxxxxxx>]