dポイントプレゼントキャンペーン実施中!

会社の諸事情により全システムをOracleからAccessに移行しました。
300万件ほどのデータに数百万の更新、一通り流すのに6時間くらいかかります。
これが取引先ごと、パソコン十数台ありますので、大変骨の折れる作業です。

根本的にAccessにしたのが最大の過ちですが、どうしてもという事情がありますので、
Accessを変えずに、Accessを早くする方法はありませんか。

インデックスは全検索項目に張っております。SQLは数千本あるので、Oracleのものを
動く程度直しただけですが。

初心者の意見として例えば

・CPUが8コアなのに、1コアしか使っていません。
・メモリが3Gなのに0.8Gしか使っていません。
・ハードディスクをSSDにするとか。
・WindowsXPを64bitにするとか

多少の投資は覚悟しています。なんとかなりませんか。お願いします。

A 回答 (9件)

 えっと、残念ながら、根本的に使い方が間違ってます。


 accessは、業務用の数百万オーダーのデータを扱うことを想定して構成されたDBMSではありません。小手先で、少しだけ早くなったとしても、業務を円滑に行うに足る構成をすることは不可能でしょう。
 CPUやメモリーに関しては、気がつかれていますね。これが仕様です。(MSでは、時として間違った意味での「仕様」がありますが、これは、正しい意味での仕様です。)
 カテゴリーのタイトルの「技術者向」コンピューターの領域では現実的な解決手段は無いと思われます。

 というわけで、後は、政治力学の問題です。まず、MSのサポートに「こんな使い方をしているが、どうしても使い物にならない。どうすればよいか?」と質問してみればどうでしょうか?その結果(まぁ、そんな使い方はしないでくれと言われるのは目に見えてますが。)と現在の業務の混乱ぶりを導入のきっかけになった人より上のレベルにぶつけるくらいですか。

 accessに拘っているのではなく、MSに拘っているだけなら、MSにだって、SQL Serverという、ちゃんとこういう用途のために用意された製品があります。
 Oracleを排除するのが主要目的なら、MySQLをサポート付の有料ライセンスで使用するという方策もあるでしょう。
 確かに、Oracleは、トップクラスのDBMSではありますが、オンリーワンというわけでもありません。
 多分、「会社の諸事情」の目的をもう一度考え直せば、accessで無駄な試行錯誤をするよりもっと良い手段があると思われます。(諸事情の根本が、社長が「僕はaccess以外はデータベースとは認めない。」とか「MS Office以外のソフトを社内で使うことはまかり成らん。」と言った・・・というレベルであれば、もはや打つ手はありませんが・・・=^・・;=)
    • good
    • 1

どうにもなりません。

 

そんな判断を鵜呑みにするような会社にいてはいけません。
すぐに転職先を探しましょう。

もしくは、

そんな判断をする社員を雇っておいてはいけません。
すぐに、首にしましょう。



どちらも無理なら、
被害が拡大する前に、専門家にご相談ください。
オラクルに戻すのが一番安上がりだと思いますが、
フリーのdbを使うのも、ありかもしれません。
    • good
    • 0

数百万件のデータを前にしたAccessは、蟷螂の斧(とうろうのおの)


の様なものです。
この後、Accessにこだわり続けても、底なし沼の深みにはまるだけ
です。
他のデーターベースに変更するのが、会社が存続していく為の唯一
の方法だと思います。

注)データベースを何にするかによらず、パフォーマンステストや
障害対策をどの様にするかの事前調査及び仕様の確定は、移行前に
しっかりとやっておきましょう。
    • good
    • 0

AccessはOracle等と比べると、障害時の復旧手段が無いに


等しい程貧弱な物しかありません。

>多少の投資は覚悟しています。
数百万件ものデータを失う事になった時、どれほどの投資
が必要かの覚悟はできているのでしょうか?
    • good
    • 0

ACCESSと一旦覚悟を決めた以上やるところまで


やるしかないでしょう。

>多少の投資
他のソフトだとして、どこまで効果が期待できるか、でしょうね。
移植スキルも必要です。

年配の方にある程度使ってもらうならaccessもあり得ます。
ま、ACCESSを使う以上それで最善策を練るしかので、
6時間が5時間になるだけでも進歩だと思います。

ACCESSはデータ保持のためだけとしておいて、
データをテキスト形式にしてほかの言語でというのはどうなんでしょう。
実際早いかどうかはわかりませんが、
300万件から対象データ絞り込みはACCESSでなくともできる
可能性あります。

無駄が繰り返しがあるとか、品質向上をやることです。
それでも駄目ならあきらめでしょう。

ただダメではなかなかすぐ切り替えとはならないし、
実施検証があってじゃあ他の手段で対応するかってことになると思います。
    • good
    • 0

フリーのPostgreSQLやMySQLにすら劣るAccessを業務用に使っている時点であきらめましょう。

    • good
    • 1

物理的に早くする以前に


無駄な処理がないか検証する。母体大きいでしょうが効果も出ます。

構造の何が早いかは専門的になります。

まずは、ファイル入出力を少なくすると良いです。
    • good
    • 0

>全システムをOracleからAccessに移行しました



逆ならともかく、あり得ない。
なるようになっただけですね。

>どうしてもという事情がありますので

だったら我慢するしかないですね。


移行を決めた方に責任取ってもらってください。
    • good
    • 0

以前、社内のMS窓口からAccessの件でMSに直接質問した時は「業務でAccessは使用しないでくれ」と言われた事があり、それ以降は使用を控えてたのですが、業務で使って大丈夫って誰がOK出しました?


普通ならSQL ServerやOracleとかを勧められると思うのですが。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す