|
▼えくせる さん:
こんばんわ。247bです。経験談メインの話になりますが。
>しかし、解放したにも関わらず、キャッシュがメモリに蓄積されているままになり、後の全体のレスポンスに影響しています。
>処理実行後、一気にメモリがふくれ上がり、物理メモリ領域を超えてしまい、フリーズしたかのように応答しません。
>なにか良い「メモリ解放」手段を教えていただけませんでしょうか。
EXCELは一度確保したメモリはそのまま確保し続けます。解放する手段としては、一度EXCELを終了して、再起動すれば解放はされるはずです。
これはCOMの問題でもあるので、どうしようもないのではないかと。
逃げ方としては、EXCELアプリを2つ起動し、片方でもう片方の起動、再起動をコントロールするという策は思いつきますが、あまりお勧めしません。
>処理実行後、一気にメモリがふくれ上がり、物理メモリ領域を超えてしまい、
>フリーズしたかのように応答しません。
仮想メモリを使っている可能性があります。多分、取得しているデータ量が大きすぎるのだと思います。
>また、データベースがExcelである為、Access装備の最適化(JRO等)の機能は利用不可です。
上記の文章は、EXCEL上のデータをADODBで扱っているという意味でしょうか。
だとすると、それだけで相当にリソースを食うはずです。
もしくがデータが大きき過ぎる場合は、SQLを変更して件数を絞るということも対策として考えられます。それが可能であればですが。
|
|