プロが教える店舗&オフィスのセキュリティ対策術

外部データベースのデータをAccessのテーブルとして取り込んでから、作業するシステムを作成しています。
日々新規のデータが追加されていく外部データベースの、新規データのみを追加していく追加クエリを作成したのですが、とにかく遅いのです!
データは6万件ほどあります。けれど、新規に追加したいデータは、日々30件ほどです。
この遅さを解消する方法はありませんか?
良いアドバイスがありましたら教えて下さい。

A 回答 (4件)

つまり、外部DBのテーブルと、AccessDBのテーブルの差分を取って、この差分だけをAccessDBのテーブルに追加してる、ということですか?



んと、まず、外部DBのテーブルを全部取り込む。
取り込んだテーブルにインデックスをつける。
その後で、差分を取って、追加するっていうふうにしたらどうでしょ。
    • good
    • 0
この回答へのお礼

外部データベースとの関係を見直し、複数回に分けて追加するようにしたら、1分まで短縮できました。
ありがとうございました。

お礼日時:2001/08/06 11:01

NO1に回答したものです。



250MB以上あって、追加クエリの起動に時間がかかるんですね。考えられることは、(1)ユニオンクエリを使用していないか、(2)クロス集計クエリを使用していないか、(3)ハードディスクの容量の空きがない、この3つが考えられますね。

(1)と(2)のクエリを使用すると、メモリー次第では実行するのにかなりの時間がかかります。また、ハードディスクの空きは十分に作ってください。

そもそもmaokuboさんが作られたDB(データベース)の容量はいくらですか?10000MB以上ですか?

こうなったら、「最適化」を実行してみてください。やりかたは、「ツール」-「データベースユーティリティ」-「最適化」です。
    • good
    • 0
この回答へのお礼

追加クエリを複数に分けて実行するようにしたら、1分まで短縮できました。
クロス集計などは使用していないです。
回答ありがとうございました。

お礼日時:2001/08/06 10:59

6万件もレコードがあるのであれば別のちゃんとしたデータベースを利用した方が良いと思いますが・・・


速度的な問題もある程度は緩和されると思いますよ
    • good
    • 0

メモリーは幾つのをお使いですか?



以前、3000件のデータを32MBで管理していましたが、その時も遅かったです。

6万件ならば、256MB以上は必要じゃないですか?

この回答への補足

早速の回答ありがとうございます。
メモリは254MBあります。
もっと増やさないとだめですか?
追加クエリの終了する時間を計ってみたら、4分でした。

補足日時:2001/07/31 17:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!