[最新記事] [過去ログ]

3/9(Fri)

/** New新川崎! */ データベースチューニングにおどろき。 前に教えてもらった、インデックスによるチューニングを試してみることに。 基本は、where句の右辺に設定されている項目に対して、インデックスを張る作業。 ただし、インデックスが適用されない場合もあるから、そこは要注意。 ちなみに、チューニングをやる前は、某PL/SQLプログラムの実行速度は平均で3.9sec程度。 例によって、SQL*Plus上の「set timing on」で計っている。 1つ目のテーブルにインデックスを張る。 PL/SQLのプログラムをSQL*Plusで流してみると、 「4.335sec」 とか出て、一瞬目を疑う。 「まさか遅くなるなんて!?」 という感情がよぎるも、あわてずさわがず元に戻してみる。 やっぱり、4sec前後のパフォーマンスしか出ないようだ。 2つ目のテーブルにインデックスを張る。 同様にプログラムを流してみると、 「1.95sec」 とか出て、思わず「ををを〜」とうなってしまいました(^^; 調子に乗って、3つ目と4つ目のテーブルにインデックスを張ってみると、 最終的には、「0.95sec」まで速くなったのでした(^^) しっかし、たかだかインデックスを3つ4つ張りなおしただけで、 速度が4倍になっちゃうなんて、もう笑いが止まらんね(^^; 今回は500件のデータだったけど、もっと件数が多くなれば、効果も絶大だろうね。 でも、500件で0.95secっつーのは、まだまだだと思うんだよね。 チューニングは、これからってとこでしょう(^^) /** 横須賀線止まる */ 信号機故障だそうな。 ほんとによく止まってくれるよなぁ(>_<; 仕方なく、ウワサ程度でしか聞いたことのなかった「南武線」に乗ることに。 この線は、今まで「非JR」だと思ってたけど、「JRであることにびっくり」しました(^^; 新川崎駅から、南武線の鹿島田駅までの行き方が良く分からないので、 なにやらぶつくさ文句言ってる二人組に付いていくことに(^^; → 常套手段でしょ? (^^; 鹿島田から、聞きなれないヘンな名前の駅を2つほど通過し、 無事「川崎」へ到着しましたとさ。 が、ここでもいつも乗ってる快速的な速い電車が止まっていたので、 仕方なく各駅的な京浜東北線に乗ることに。 しっかし...遅いし、ギリギリ座れないし、イライラしてくるね(>_<; 何が気に入らないって、こういうのがたまにじゃない気がするんだよね。 横須賀線のMTBFは、全JR線中最下位なんじゃないの?

3/8(Thu)

/** 花粉症(>_<; */ 充血中(>_<; でも今日は、花粉だけじゃなくて、雪も舞ったね。 天気予報で、「花粉と雪が舞うでしょう。」とか言ってたけど、 ほんとになってるし。 帰って天気予報みたら、ごく局所的な雪だったりして、 おいおい(^^; ってな感じでしたが。 ちなみに、これからしばらく寒いみたい。 花粉症 + カゼにならないように気を付けないと... /** 目指せ! Oracle Master Gold!! */ 3/24にエントリー! DBと違って、やる気まんまん(^^; ちなみに、昨日分かったすごいこと。 昔のチームでOracleを使っていたときに、普通なら、 「sqlplus username/password」 でログインするところを、ユーザ名&パスワードを省いて、 「sqlplus /」 でログインできてました。 僕はてっきり、ユーザに「No Authenticate」みたいな属性があると思ってたのに、 全然違ってました(^^; ポイントは、「OPS$」で始まるユーザ、つまりOS認証だったということで。 つまり、OS認証のユーザは、わざわざOracleにログインする際に、 ユーザ名を入力したり、パスワード認証をする必要が無いわけで、上記のように、 ユーザ名とパスワードを省いた形で、ログイン出来るわけです。 これが分かった瞬間、 「すげぇ〜(@_@;」 と、感動しまくり(^^; こういう発見を繰り返していけば、真のマスターになれるんだろうね。 /** New新川崎! */ 今日は、IDSとかいうベンダーの、Type3のJDBCドライバを実験してました。 ここからたどって行けます。 Type3は、クライアントとデータベースの中間にサーバを置いて、 クライアントのProxyのような役割を担います。 クライアント → 中間サーバ → データベース 詳しいことはここを見ましょう。 同じ処理をしているプログラムを対象に、 JDBC-ODBCブリッジドライバと比較して、速度に2sec程度の差が出ました。 ドライバ変えただけで、こんなに違うものなのかという感じです。 ただ。 PreparedStatementが使えないんです(T_T) PreparedStatementは、コンパイル済みのSQLで、 複数回同じSQLを使う場合は速くなるし、 「where item1 = ? AND item2 = ?」 みたいに書いといて、setString(1, "xxx") setString(2, "yyy") みたいに、後から値をセット出来るので、めちゃ便利なんです(^^) とりあえず、置換機能だけを提供するクラスを暫定で作って対応したけど、 本番では、こんなテンポラリなコード使いたくないねぇ。 そういえば、Oracle提供のThinドライバ(Type4)も接続できたけど、 PreparedStatementが使えないのは同様。 なんにしても、今度試す「Seque Link」に期待ですかね。

3/7(Wed)

/** 花粉症(>_<; */ 「鼻トールメントール」なる名前の飴が、僕的にヒット! 多分、鼻が通るから、鼻トールなんだろうなぁ。 とか、どうでもいいこと考えたりして(^^; そういえば、花粉症には「りんご酢」がいいとか、 「どくだみ茶」がいいとか、過去の知識を思い出してきました。 でも、買いに行くまでに花粉にやられて、それどころじゃなかったりして(^^; 会社にもらった薬の中に、アレルギーに効きそうな薬を探すも、 「強力わかもと」とかしかないし(T_T) まあ、薬飲んだとしても、すんごく眠くなるらしいから、 「どっちにしても仕事にならない」らしいけどね。 それにしても、今年はマジでシャレになってないね(>_<; /** 目指せ! Oracle Master Gold!! */ 勉強も大分進んできたので、そろそろエントリーを考え中。 自爆にしない程度にね(^^; これに受かれば、初の「3級系」以外かも(^^; といっても、取るの簡単っぽいから、「2.5級」程度だけど(^^;; 目指すはもっと上! なのだ!! 持っている人に言わせると、Oracle Masterの現場で役立ち度は、 Silver → あんまり役に立たず。初級プログラマ程度。(僕みたいの(^^;) Gold → 開発者向け。DB管理するんじゃなければ、ここで十分。(とりあえずここを目指して) Platinum → DB管理するのであれば、ここまで取らないと役立たず。 らしいです。 多分、DB管理することはないから、Goldで十分じゃないかな。 ただ、SQL*Loaderの使い方は、Goldじゃ教えてくれないから、 マニュアル読むなり、プラチナの科目取る必要があるけど。 なんにしても、まだまだ奥が深そうです...

3/6(Tue)

/** 目指せ! MIDI検定3級!! */ 合格証が届きました...と書きたいところですが、 入ってたのは、キャッシュカードみたいなカード一枚と、紙っぺら一枚。 この辺、Oracle Masterなんかと比べると、受験料の差が如実に表れてるね(^^; ちなみに、1000円出すと、認定証もくれるそうです。 ちゃっかり商売してるあたり、Oracle Masterに似てるかも(^^;; っていうか、セコい... /** 花粉症(>_<; */ 花粉症にかかった年並に症状がよろしくないね(>_<; 明日からは、若干緩和するらしいけど、 そろそろ何らかの対策を練らないとヤバいかもね。 (っていうか、既に遅いってウワサもあるけど...) でも、電車の中とかで回りを見回しても、案外苦しそうな人いなかったりして、 結構くやしかったりするんですけど(^^; 花粉症は国民病ってのはウソなの!? /** フレッツ(ISDN(-_-;)きた! */ さすがド田舎。 いまさらながらやって参りました。 3/1受け付け開始で、速攻申し込んだから、多少は有利かも。 3/3にはチラシも入ってたみたしだし。 果たして、いつまで待たされるのか... 最悪数ヶ月待つこともあるらしいけど、それじゃあ遅すぎるんだよね(-_-; /** New新川崎! */ OracleのJDBCドライバ(Type2)ショボい... やっぱりこいつ、JDK1.1しかサポートしてないし。 最新のは、Java2(JDK1.3は不明)サポートしてるらしいけど、 うちで使ってるのは、微妙に古いらしい。 どうやら、付属のJRE1.1.7を使えってことらしい。 で、使ってみたら、見事に文字化けてるし(T_T) でも、ブリッジドライバに比べて、かなりパフォーマンスは良さそう。 が、INTERSTAGEでは、JDK or JREの1.2か1.3しか使えないんだなぁ(T_T) 解決策って言っても、Oracleのバージョン上げるか、 Seque Linkみたいな、サードパーティのJDBCドライバ使うしか無いね。こりゃ。 そんなお金が出ない気が多分にするんだけど(^^; ちなみに、現状使ってるJDBC-ODBCドライバ(Type1)に関しては、 Windows2000で使うと、全く応答しないようです(T_T) JDK1.3.0_01でも、JRE1.1.7でも、結果は同じ。固まる。 こいつでかなりの時間ハマったかも(>_<; -Xprofとか使って、実行時間を計ってみると、 普通のPL/SQLプログラムで実行した場合と比較して、 JDBCドライバの実行分だけでも、3倍ぐらい行ってるし。 このドライバは、実用性低いような気がするね。 とにかく、Type1 → Type2の移行は必須なように思えてきたこの頃。 /** 目指せ! Oracle Master Gold!! */ 職場でずっと疑問だった、「OPS$」のナゾが解けました(^^) OPS$が付いたユーザ名は、OS認証を利用したユーザを表わしていて、 「CREATE USER OPS$username IDENTIFIED EXTERNALLY ...」 という風に作れるようです。 普通は、 「CREATE USER username IDENTIFIED BY password ...」 と作るところですね。 (こっちはSilverの範囲) DB認証を使うと、OS認証とDB認証の二重ガードをかけられるのですが、 OS認証だけだと、ややガードが甘くなりますね。 まあ、管理の手間が減るので、うちみたいな開発環境なんかでは、 用いられることが多いんでしょう。きっと。 それにしても、ずっと疑問にしておくよりも、Webで調べれば良かったのにねぇ(^^; なんでそうしなかったんだろう? わからん...(-_-;

3/5(Mon)

/** 花粉症(>_<; */ 今日は、花粉がピークだったみたいだね(>_<; 鼻はつまるし、くしゃみは出まくるし、最悪の一日でした。 雑記帳の過去ログを「花粉症」で調べると、 2月〜4月の間で、毎年話題に上がってるらしい。 ってことは、あと2ヶ月ぐらいは苦しむってこと...? 早く終わってくれ〜(>_<; /** 区別付かん(T_T) */ 「Dream」「Earth」「Folder5」... 見た目ではさっぱり見分けが付きません。 なんで、こんな似たり寄ったりのが出現してくるんだろうねぇ(>_<; 僕が知らな過ぎるだけ?

3/4(Sun)

/** き〜てね〜よ〜(-_-; */ > 今週末は山ごもり(図書館)だねぇ... やるワケなし(^^; 今回は、かなぁりヤル気なし。 またあの、合格発表まで散々待たされたあげく、 結局、敗北感を味わうというパターンに陥りそう... /** 某APサーバ「I*T*R*T*G*」(←バレバレ(^^;) */ 今月のJavaWorldで特集してました。 どうも、先月のAPサーバ比較特集で「全く取り上げられなかった」ので、 今月になって、慌ててお金を払って載せてもらったもよう(^^; (そうじゃなくても、そういう風に見える) 今のところ1ヶ月使ってみたわけなんですが、 まあ、別に可も無く、不可も無くといったところ。 J2EE準拠じゃないってのは、ダメだけど。 つまり、わざわざ選ぶ製品って感じじゃないね。 そういえば、こないだ見つけたショボイところは、 DDファイルの改行コードが違った(LFのみ)だっただけで、 「正しいアーカイブではありません」 みたいなエラーが出て止まってるし。 かなりダサいんですが(-_-; 多分、某F社が抱えるプロジェクトでは「使わされてる」んだろうけど、 他のを知らないで、これを使わされるのはどうかなぁ。 って感じです。 /** PCはとってもノイジー */ そんなの当たり前なんだろうけどねぇ。 最近のCDは、CD-Rで吸い出せないやつもあるらしく、 仕方なく、録音してみることにしました。 しかし、サウンドカード経由でCDを鳴らして、それをデジタル録音したところで、 ノイズのりのりで、そいつまでデジタル録音しちゃって、 ノイズまでしっかり聞こえたりして(^^; そこで、SC-D70&ポータブルCDレコーダを活用して、 PC(サウンドカード)を経由しない形で録音した結果、 きれいに取ることが出来ました(^^) 多分、このwavファイルは、もう一回コピーできないやつだろうねぇ。 もう一つノイジーネタ。 もう一台のマシンのノイズがひどいとかで、 見てみたんですが、よく分からず(T_T) とりあえず、複雑に絡み合ったケーブルがあやしいので、 スピーカーのケーブルだけ適当にまとめてみたら、それだけで直ってしまいました(^^) 同軸ケーブルみたいに、ノイズに強いヤツじゃないと、 他のケーブルの影響を受けたりするんだろうか? (→ おまえ、本当に波動工学研究室だったの? って感じ(^^;) ケーブルって言えば、あの赤と白のケーブル(正式名称は知らない(^^;)、 高いヤツは、2万とかするんですね。 99.999999%とかって書いてありました。(やっぱりこれも何の数字だか知らない) なんか、とっても良さそう(^^; でも、専門店とか言ったら、もっと高くていいやつがあるのかもねぇ。 まあ、プロじゃないから、そんなの縁無いけど。

3/2(Fri)

/** き〜てね〜よ〜(-_-; */ 来週の土曜日、DBの模試があるらしい。 自分で申し込んどいてなんなんだけど、 マジでやるんですか? って感じ(^^; 今週末は山ごもり(図書館)だねぇ... /** 終わってんじゃぁ〜ん(T_T) */ せっかく、「投資信託3級」とかいう面白そうな資格を見つけたのに、 試験日3/4で、明後日だし(^^; 間に合うはずもなく、また半年後っていう感じらしいです。 ちっ! せっかく資格コレクターぶりを発揮しようと思ったのに。

3/1(Thu)

/** New新川崎! */ 久々のデータベース用大量データ作成のお仕事。 Excelでパターンを作って、CONCATENATEワークシート関数でSQLを組み立てて、 そいつをテキストに落として、SQL*Plusで実行! って感じ。 でも、Excel → CSVに変換をかけてから、 SQL*Loaderで読み込ませた方が、もっと簡単かも。 SQL*Loaderはよく知らないから、使えないけど(>_<; う〜ん。まだまだですなぁ。 /** デザインパターンは疲れる(>_<; */ 読み終わり! 良い設計者は、あらゆるデザインパターンを知り尽くしていて、 リファクタリングの必要がない設計を行う。 みたいなことが書いてあったけど、普通に考えたら無理だよねぇ。 対象業務において、どこが可変部分なのかを見極めるだけの、 業務分析能力みたいのも必要になってくるだろうし。 どうかんがえても、経験が不足してますなぁ。 とりあえずは、デザインパターンを使えそうなところに使っていって、 理解を深めることが重要かも。
[最新記事] [過去ログ]