5 返信 最新の回答 日時: May 31, 2017 5:27 PM ユーザー:beginners

    検索時間が長い

    beginners

      お世話になります。

       

      FM15 advancedを使用しています。

       

      レコード件数が180万件ある状況で、その中の「会社名」の項目で検索実行をかけると、

      検索結果まで時間が掛かりすぎる状況で困っています。

      3分ぐらいしないと帰ってきません。

      (「会社名」のテキストには、索引しています)

      仕方ないものなのでしょうか?

      他に良い方法は無いものでしょうか?

       

      ちなみに、ネットで調べた以下の方法では解決しませんでした。

      ◆◆◆◆◆◆

      1.非保存の計算フィールドを保存する設定に変更する

      「ファイル」→「管理」→「データベース」 

      該当するテーブルを選択し、該当する計算フィールドをダブルクリックして計算式の指定を開きます。

      画面下部の「索引オプション」をクリックし「検索結果を保存せずに必要時に再計算するのチェックを外します。

      ◆◆◆◆◆◆

        • 1. Re: 検索時間が長い
          sago350@未来Switch

          感覚的にはもう少し早そうな気がします。

          「会社名」だけ配置されているレイアウトでも同じ時間がかかりますか?

           

          「会社名」フィールドはどういうフィールドなんでしょうか?

          対処方法を見ると計算タイプのフィールドの様ですが。

          検索を実行するテーブルと同じテーブルに定義されているフィールドですか?(=関連テーブルではない)

           

          検索している条件はどのようなものでしょうか?

          • 2. Re: 検索時間が長い
            beginners

            お世話になります。

             

            パターン1.

            ・テーブルを表形式でレコード全て表示させた状態で、検索状態にして、「会社名」項目(タイプ:テキスト)に会社名を入力して検索実行。

             

            パターン2.

            ・作成したレイアウトで「会社名」項目に検索する文字列を入れて、スクリプトにて検索実行。

             

            パターン1も2も、ほぼ同じぐらいの時間(3分程度)かかります。

            但し、同じ条件を2回続けて行うと、瞬時に帰ってきます。

            (パターン1も2も、検索後、一度Filemakerを閉じて計測しています。)

            • 3. Re: 検索時間が長い
              sago350@未来Switch

              それはもうしょうがないかもしれませんね。

               

              あとはハードウェアや、FileMaker Serverで公開しているならネットワークを高速化するか・・・

              1 人中 1 人が役に立つと言っています
              • 4. Re: 検索時間が長い
                shin

                インデックスの転送に時間がかかっているようですね。

                 

                遅くなった時の定番、最適化保存を試して見ては。

                 

                サーバーで共有しているのでしたら、

                サーバーサイドスクリプトで検索させ、その結果のレコード番号をスクリプトの結果で返します。そのレコード番号のレコードを抽出するか、別テーブルでそのレコードを作って関連フィールドとして表示、という方法である程度早くなるかもしれません。

                • 5. Re: 検索時間が長い
                  beginners

                  sago350@未来Switch さん

                  shin さん

                   

                  ありがとうございました。

                  試しに、ローカルドライブにfmp12を持ってきて検索したら、数秒で検索できましたので、

                  通信の問題が考えられます。

                  調査してみます。

                   

                  ちなみに、最適化したら、格段に早くなりました。

                  皆さんありがとうございました。

                  1 人中 1 人が役に立つと言っています