2010年2月26日

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

>> 単に BEGIN してないから遅いだけでは?
>> あとは、そのテキストデータとやらが何だか知りませんけど、sqlite に直接 CSV 食わせるとかでもいいんじゃないですか?
>
> 一応、BIGINとCOMMITは一件ずつ処理に適用しております。
>
> 以上よろしくお願いいたします。

言葉足らずでしたけど、一件一件、いちいち COMMIT するから遅いといいたかったんです。

最初に BEGIN して、全部 INSERT してから COMMIT すれは、ファイルアクセスが都度発生しないのでかなり高速になると思います。

それと、逆に質問なんですが、そんなことしたら、トランザクションの意味が全くないと思いますが、気のせいでしょうか。
今回のようにタイムアウトしたら、INSERT 出来た行と、出来なかった行が出来ると思うんですが、出来なかった行はどうやってやり直すんでしょうか?

--
Osamu Shigematsu

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


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




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