ここから本文です

ACCESSのデータベースからEXCELで ADOを利用してデータ抽出していますが、 まった...

ika********さん

2018/2/523:20:26

ACCESSのデータベースからEXCELで ADOを利用してデータ抽出していますが、
まったく完全に同じコードで取りに行っているのですが、なぜか

最初の取り込みのときのみめちゃくちゃ時間がかかっていることがわかりました。
たとえば 最初 3分/回 後はずっと 15秒/回 のような
感じです。最初というのは たとえば プログラムの実行をとめたり
msgbox などでとめたときの後などもそうなります。

access は入門者です。 よろしくお願いいたします。

閲覧数:
51
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

ony********さん

2018/2/608:54:45

メモリーのキャッシュ効果によるもののような気がします。

HDD--->(2分45秒)-->Memory-->(15秒)-->ACCESS

元のACCESSファイルの内容(HDD)が変化した、もしくは、
Memoryの内容が他のアプリやデータに押し出されて
Swap領域(HDD)に移動した後も同様に遅くなっているのではないでしょうか?

また、プログラムの実行を止めたり、メッセージボックスを表示することにより、DoEventsと同様にOSに一時的に制御を渡すことになり、Memoryの再配置がされ、遅くなっている可能性もあると思います。

  • 質問者

    ika********さん

    2018/2/721:11:42

    ありがとうございます。リソースモニターで物理メモリーを見ていると
    3分くらいかけて40%くらいから60%に上がっていきもどります。その後15秒くらいで同じ高さまで上がりもどります。ためしに仮想メモリーを3倍くらいに(最高24GB)にしましたが遅いのはぜんぜんかわりませんでした。テストを繰り返すと2回目にもでることがありました。ご指摘のようにメモリーが関係しているとは思うのですが具体的な解決方法がわかりません。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる