VB6のデバグ

ACCESSがらみのトラブルシューティングの仕事が入ってきました。
一つは難なく解決しましたが、
ACCESSプロジェクトでSQLのパフォーマンスを改善する仕事には手こずっています。
ACCESSではADOを使っています。

考えてみれば、私はADOを余り使ったことがありませんでした。
私は過去の仕事をすべてHDの一箇所に保存して、いつでもみることができるようにしています。
困ったときに過去の工夫を探すことで、沢山の時間短縮をしてきました。
ADOでは過去にどんな仕事をしたか、このライブラリを調べたのですが見つかりません。
ADOはあまり記憶に残っていないし、どちらにしても大した仕事をしていないのだと思います。

DAOは結構使ったのですが、ADOを少しやって.NETに移行したと思います。
そんなわけで、不慣れなADOとSQL(SQL Server)のチューニングの仕事、
しかも他人が書いたプログラムのトラブルシューティングには時間が掛かっています。

現象としては、ACCESSプロジェクトである検索をすると、
しばらく待ってなにも言わず作業が終わるというのです。
調べてみると5000行程度の出力に15分近くかかってタイムアウトしていることが分かりました。
ロジックは正しいのですが、SQL一発でやろうとしたことに無理があると思います。

SQLを改善したり、クライアント側でADOのプログラムを書いたり、ストアドプロシージャを書き換えたり、
もう3日取り掛かっていますが思ったような成果がありません。

本日は、中間結果を一度SQLのワークテーブルに書き出す方法をトライしようと思います。
うまくいくことを願っています。

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