LIFELOG

ライフログ

なんで掴めないんだろう?

なんで掴めないんだろうと思ってんのかな?

蛇口から出る水を一生懸命掴もうとしている息子が、初めて問いかけてきているように思えた。水とガラスの違いはしっかりと理解させておかないと!

何を隠そうNeo隊長は「透明なものはすり抜けられる」と母親の変な説明で誤解をしてガラスに突っ込み血だらけになったことがある。

最近のガラス窓はそうそう割れることはないだろうけど、息子を危険な目に遭わす訳にはいかん。しかしどう説明するかな?
 

SQLiteのトランザクション

話は変わるが、先週木曜日くらいから悩んでいたことが、昨日解決した!

悩みとは、WEBのアクセスログをSQLiteDBに流し込みそれを解析に使おうと発想したのだけど、どうも流し込みに時間がかかり過ぎるってこと。

最初はログの内容を加工して流し込むようにしてたけど、あまりにも遅いからそれも止めてんけど、結果はさほど変わらん。

「イ〜ッ」ってなって諦めて寝たけどやっぱり気になって寝れずに調べてたらあったのだぁ!

SQLiteでは明示的にトランザクションを開始しない限り、INSERT処理の前後に必ず”BEGIN”、”COMMIT”が実行されるらしい。

whileで回してるからその外に”begin”と”commit”を書いて実行したら嘘みたいに早くなった。

ちなみに「Mac PBG4 1GHz」の512MBで、アクセスログは約20MBの109300行で、だいたい30秒以内でインサートが完了するようになった。このことを知る前は、 40分以上かかってた。

たった2行を入れるだけでこんなに変わるなんて!
しかもソース内に”begin”と”commit”なんて入れるの初めて。なんか素敵だw

関連記事一覧

  1. この記事へのコメントはありません。