シナリオ: 従来のプログラム (どの言語か不明) があり、「データベース内のフォームを圧縮してアーカイブする」ように依頼されました。ユーザーがアプリケーションを開いた時点で、約 27000 レコードをロードするのに約 2 ~ 5 分かかります!!! 私の理論では、起動時にすべてのレコードをロードしているということですが、それだけが理由ではないかもしれません。掘り下げて正しいように見える Access Back end を見つけた後、社内の 15 以上の他の共有でも同じアクセス ファイルを見つけました。このアプリケーションが作成されたのは 1997 年頃で、おそらく Access が標準であったと思いますが、実際には 15 以上の Access データベースからデータを取得するのでしょうか? このプログラムを高速化するための標準のように思われるのは、古いレコードを別のアクセスデータベースにアーカイブすることです (これが、起動時にすべてをロードしていると私が考えている理由です.
質問: 月曜日にプログラムについて話し合う会議があり、役に立つ質問、理論、解決策などを提案してくれる人がいないかと考えていました。これは自分でできないということではありません。別の視点ではできないと思います。傷つく。また、もう 1 つの興味深い事実は、ソース コードが請負業者によって作成され、コードがずっと前に失われた可能性があるため、ソース コードを入手できる場合と入手できない場合があることです。
補足: Access が古い記録を自動アーカイブすることは可能でしょうか? それは、XXXArch という別の DB にそれらを転送することを意味します。
前もって感謝します。ご質問があればお答えいたします。
編集:
近況報告はこちら。
1 つのデータベースのみをメインとして使用し、もう 1 つのデータベースをアーカイブに使用しているようです。アプリケーションを開くための自分のユーザー アカウントはまだ持っていませんが、データベースを調べると、ログイン ID と同じパスワード (PASSWORD) を持つユーザー テーブルがあるため、それらのユーザーの 1 人としてログインして、いくつかのユーザーを選択してみました。何も変更していないデータ。選択すると、ほぼ瞬時にデータを取得でき、他のユーザーが得ていた速度低下は見られませんでした. 私はまだソース コードを見ていませんが、(exe を取得してメモ帳に入れると) わかることから、VBA でコーディングされ、おそらく MS Access を使用して作成されたように見えます。また、アプリケーションがデータ フォルダーに temp.mdb を作成するようです。現在、その中には何もありません。テーブルも何もありません。私' これがユーザーの速度を低下させているものであり、パフォーマンスを向上させるために削除できると仮定/期待しています. ソースコードを入手し、何が遅くなっているのかをよりよく理解したら、別の更新を投稿します.