[PHP-users 35032] Re: 大量データをDBへインポートする処理

abs kenken_abs @ leto.eonet.ne.jp
2010年 2月 27日 (土) 21:42:34 JST


absです。
>
> 言葉足らずでしたけど、一件一件、いちいち COMMIT するから遅いといいたかったんです。
> 最初に BEGIN して、全部 INSERT してから COMMIT すれは、ファイルアクセスが都度発生しないのでかなり高速になると思います。
→そのように処理すれば早いということですね。
    自分もトランザクションの使い方をよく理解できていなかったと思います。
  (1件のSQLに一連のトランザクション処理を行わなければならないと思っていた) 

  ありがとうございました。


> それと、逆に質問なんですが、そんなことしたら、トランザクションの意味が全くないと思いますが、気のせいでしょうか。
> 今回のようにタイムアウトしたら、INSERT 出来た行と、出来なかった行が出来ると思うんですが、出来なかった行はどうやってやり直すんでしょうか?
→処理できなかった行(処理が残ってしまう)を最後まで処理するにはどうしたらよいのか?  
  これが今回解決したかった内容でした。
  すでに他の方からもご教授いただいておりますので、
  それらを試しながら検討してみたいと思います。

ありがとうございました。




PHP-users メーリングリストの案内