SQLチューニング 2

手伝い仕事が続いています。

SQLの[Exists]や[Not Extists]は便利な機能です。
例えば、

Select Name, Ordered  From Orders O
Where Exists (Select * From Customer C Where C.Name = O.Name)

これもサブクエリーの結果が大きい場合パフォーマンスが極端に落ちます。

前回と同じ手法を使いました。
すなわち、メインのSelect部分をワークテーブルに書き出し、
クライアントでサブクエリー部分を高速のレコードセットに変更し、
このテーブルとの照合をします。
結果は4分の処理時間が20秒弱にすることができました。

ところで今回はあるソフト会社で突然技術者が退社したらしく、
トラブルの山が残りました。

急遽応援を頼まれてこの一ヶ月およそ10個のバグ潰しをしました。
ちょっとしたコードの手直しは他に影響も少ないので、
修正すればそれで終わりですが、
ルーティンをそっくり変えるとなると、
実働システムでは慎重なテストが必要です。
まだ、2週間くらい必要かもしれません。

error: コピーできません !!