Accessについて(その4)
2016/11/24日 12:54
AcccessでのSQL SERVERやolacleなどのデータの取り扱いの続きです。
基本、Accessにはテーブルリンクという機能があり、Access Jetだけではなく、SQL SERVERやlacle,MySQL
といったデータもプログラムの箱(dbやaccdb)リンクさせて、Access Jetと同じように取扱いができます。
しかし、この方法では、データ件数が多いと、Access Jetより処理時間が掛かる場合があります。
現実に、あるお客様で他システムとの連動のため、olacleをこの方法で使用していたのですが、データの登
録内容を全て空にするという処理を行った場合、時間が掛かり過ぎるとのクレームがついたことがあります。
通常、選択して削除するのであれば、プログラム作成方法によっては、時間が掛かることもありますが、
全てのデータを削除して空っぽにするという行為は、一瞬にして終わります。
不思議に思って計測したところ、4万件のデータを空にするのに5分、十万件だと10分、20万件だと30分弱
掛かってしまいました。(この計測値は過去のものなので、ハードの性能の向上した現在は、もう少し早いか
もしれません。)
同じデータ量でも、Access Jetだと、件数に係らず、瞬時にして終わります。
どうやら、外部データをリンクすると、mdb或いはaccdbの機能として、1件ずつ処理しているみたいです。
従って、大量のデータを取り扱うのにSQL SERVERやolacleを導入し、Accessにリンクを貼って使用するのは
、あまりお勧めできません。
それらのデータベースを、VBなどと同様の速度で処理するための方法は次回で延べます。
今回も、ここまで読んで下さった方々にお礼申し上げます。
ますます寒くなってきましたので、お身体にはお気をつけください。
ありがとうございました。