2 返信 最新の回答 日時: Nov 14, 2009 4:30 AM ユーザー:Yoshi2

    集計時間の短縮方法を教えてください

    Yoshi2

      タイトル

      集計時間の短縮方法を教えてください

      フォーラムに投稿

      現在1ファイルでおよそ1000超のレコードがあり計算フィールドがおよそ700あります。リレーションも70ほどあり1つの計算結果を出すのに少し時間が掛かります。

      そこで出た結果を基に違うファイルで集計をするのですが、そのファイルがなかなか開いてくれません。

      結果を牽引するたびに再計算するためだろうと思いますが、この関係を断ち切ることはできないでしょうか?

      一時格納のファイルを作りそこに結果をインポートしようと思いましたが、インポートするのに1時間以上かかる始末です。計算結果以外のインポートは1秒以内で

      完了するのに…どなたかいい方法を知っていたら教えてください。よろしくお願いいたします。

        • 1. Re: 集計時間の短縮方法を教えてください
          user6776
            

          ファイルを見てみないと具体的に速くする方法をお答えすることはできませんが、計算フィールドや集計フィールドが多量にあると遅くなる場合があります。

          また、リレーションが多量にあっても遅くなることがあります。

          (例えば数十のリレーションシップグラフがあり、それが全て繋がっているとか)

           

          ファイルを開きたいだけなのに計算が始まるのは大変だと思います。

          思い切った方法ですが、計算フィールドを止めて、スクリプトをループで回してフィールドの値を設定してはどうでしょうか。

          計算値のリアルタイム性はなくなり、データ取り込む度にスクリプトを実行させる必要がありますが、 データを見る分には快適になるかなと。

          • 2. Re: 集計時間の短縮方法を教えてください
            Yoshi2
              

            アドバイスありがとうございます。

            ファイルの一元管理がしたくて元々別々だったファイルをかなり強引に1つにしたのが仇になったようです。ファイルをまた1つずつ分割していって三分割したところでウェート時間も短くなりました。各ファイルが同期しているかどうかは計算式を入れて他のファイルの状況確認をできるようにしました。

            使い勝手がいいおかげでどんどんファイルのボリュームが大きくなり結果、今回のようなことになったのだと思います。

            元データの保管ファイルはレコード数が25万を超えているし…実際半分は常用では使わないデータになったのでこれも別々にしようと考えてます。