Headline About TechLog Download Java VBA Link

July 16, 2008.

I am Lassitude


昨晩も寝る前に蚊と戦った。スターシップ・トゥルーパーズな日々。朝の電車で「I am Legend」を読む。和訳すると「俺ってば伝説」。うーん、中2病ど真ん中ストライク。ともあれ、ようやく1章を読み終えた。非日常の世界において確立した日常生活を淡々と描いている章だった。SFやホラーにおけるこういう処理の方向性は好き。凄い世界で凄い反応をしている主人公を見ると萎える。人間の適応力は非常に高いので、淡々としている方が自然だろう。

 

仕事ではまた朝っぱらから障害対応。今日のは上位システムのデータの問題。適当に資料を作ってメールで送信し、データの10秒メンテ。

その後はバッチモジュール作成の続き。大体完成したので動かしたところ、ログ中に予想外の所でDB系のエラーが出力されている。しばらく悩んでデバッガで動かした結果、エラー処理のコードの不備を発見。On Error Go To xxxxを使用し、xxxx:というマーカを立てていたのだが、xxxx:の直前にExit Functionを書いていなかったため、正常終了してもログが吐かれていたと言う、実にくだらない原因。

しかしVB、select caseの場合はbreakを書かなくともコロンの範囲で処理がジャンプするのに、こういう場合は明示的にexitしないといけないのね....。相変わらず、馬....いや、侮れない奥の深い言語だ。GoToは嫌いだけど、例外のない言語でエラー処理を効率的にやろうと思うと、どうしてもGoToが楽。エラー処理に必要な変数を全部渡すエラー関数を作って回るのはあまりに美しくないし。

 

で、ついでにテスト用のDBをひょいと作成し、単体試験をやってみた。そしたら、遅い遅い。たかだか数十万件のデータから2000件のデータを抽出し、もう一方のDBの該当データと比較してUPDATE or INSERTを行なうだけなのに、20分もかかった。いくら夜間バッチとはいえ、これでは酷すぎる。

で、ボトルネック調査を行なったところ、INSERT / UPDATEがとても遅い。検索回数は同じだけれど、INSERTもUPDATEも起こらないデータを作って試験すると10秒程度で終わるのだ。UPDATEのキーは既にインデックス化されているためこれ以上高速にはならない。INSERTを速くするにはインデックス化をやめたほうがマシだけど、UPDATEが遅くなる。どうしようとしばらく悩む。

で、よく見たらこのテーブル、INSERTとUPDATE時に自動で日時が入るようなトリガが設定されている。試しに削除してみたら、全INSERTのパターンで試験しても20秒で処理が終わった。実に馬鹿馬鹿しい。トリガが検索キーでない項目をキーに検索し、日時をUPDATEしているのが遅い原因だった。だからといってそのキーを検索キーに入れれば良いというものでもない。別バッチでの処理が遅くなってしまうからだ。いっそトリガを削除してしまいたいが、他の画面やバッチからデータを更新したときの日時が入らなくなるため、全プログラムに改修をかける羽目になる。で、どうせ夜間バッチなんだから、処理前にトリガをDROPして処理後にまたCREATEすりゃ良いんじゃないかと脳内で結論。明日試してみてOKならこれで良いや(適当だなぁ)。

あとは本番の回線環境で通信速度がどの程度足を引っ張るのかが心配だ。自分の概算では通信だけで4〜5分は遅くなるだろう。しかしこれは本番環境にサーバが設置されるまで測定しようがない。思いのほかパフォーマンスが出なかったらどうしようかなぁ。ってか、会社の回線に帯域無保証の回線を使うなよなぁ。遅かったら回線のリプレイスを提案しよう。で、回線敷設をうちの会社に依頼して営業成績アップだ!(プラス指向)

 

帰りの電車でもLegendの続き。今度は表面上異常な環境に適応した男の、内に秘められた狂気のあたり。まぁ、そりゃおかしくもなるわな。既に人がいない原因ははっきりと明示された。しかしまさかこんな作品だったとは。映画の宣伝は「第三次世界大戦にたった一人生き残ってしまった男の孤独に対する苦悩」的な哲学バリバリの作品に見えたのに、そういう内容を期待して見に行った、気の小さい人は気持ち悪くなるのではないかな、これ。まぁうまいプロモーションだった事は否定しない。見せすぎるプロモーションはあまり好きじゃないので。ともあれ、まだ新しい作品だし、あんまり書くと未読・未観の人へのネタバレになるので、この辺で止めておこう。内容にはなるべく触れない方向で。

 

で、帰宅後にバドへ。試合の悔しさが残っているうちに練習。しかし、結構しんどい。まだ体力が戻りきっていない気がする。ダブルスのゲームをやるも足を引っ張ってばかり。もっとコースを考えないとなぁ。今日の参加者が7人だったため、そのうち余っているそこのサークルの管理人とシングルスを開始。5ポイントぐらいまでは良いのだが、そこからは全然体力が続かない。フットワークも組立ても駄目だなぁ。結局3回対戦して3回とも負けてしまった。52歳の人にシングルスであっさり負けてるようじゃいかんなぁ。来週も行ってリベンジだ。そのうちずっと棚上げになっているシングルス大会も開こう。取り合えずは身内に声をかけて小さな規模で。あとやはりスポーツドリンクがいるな。お茶では脱水症状を起こしそうだ。やってて頭がしびれてきたぐらい。以前に過呼吸&視界狭窄を起こしたときと似た症状であせった。

 

帰宅後は英語の和訳をと思っていたが力尽きる。You tubeを眺めながら夕食を取り、就寝。

 

なお、今日の日記のタイトルの直訳は「俺は疲労」ぐらい。擬人法?


名前: 意見: パス:

※パスにはこの日記のタイトルをコピペして下さい。


July, 2008
SUN MON TUS WED TUR FRI SAT
12345
6789101112
13141516171819
20212223242526
2728293031