ファイルメーカー(FileMaker Pro)のソートは遅いのか?
よくファイルメーカーについて検索したりすると、「遅い」というキーワードを目にすることがあります。特にソートが遅いというようなことを目にします。
どんなソフトでも使い方を間違えると遅くなる
どんなソフトでも、想定された使い方を考慮せず誤ると、予期せぬ事態が起こることがあります。普通のオフィスソフトであればかなり予期せぬ状況というのは起こりにくいのですが、ファイルメーカーでは比較的簡単にそういったことが起こります。
それは他のソフトと違い、アプリケーションを作るためのソフトだからです。他のオフィスソフトなどと比べると自由度が高く、いろいろなことができます。ある程度適当に操作しても何とかなるオフィスソフトとは違い、特性をしっかりと理解していかないと「遅い」と感じてしまうわけです。
では実際に何をすると遅くなるのか
ファイルメーカーも年々進歩していて、昔は確かにそういった部分もありましたが、現在では勘所を押さえおけば「遅い」と感じることは少なくなりました。
実際にこれに気を付けろというのは下記の通りです。
・関連レコードの表示
・非保存の計算フィールド
主にこの二つを含むフィールドがあるレイアウトでソートを行うと遅くなります。ただし、スタンドアロン(自分のPCだけで使う)であったり、レコード数が少ない場合はあまり感じないでしょう。しかし、FileMaker Serverでホストしたり、複数ユーザーで使用しているデータベースか、レコード数が非常に多い場合は注意が必要になります。
関連レコードの表示
関連レコードとは、リレーションシップによってつながっている別のテーブルのデータのことです。ソートするレイアウトに紐づいているテーブル(コンテキスト)と直接つながっているテーブルであれば、まだいいのですが、直接ではなく、遠くなればなるほどパフォーマンスに対する影響が大きくなります。
ソートの速度が気になる場合は、直接関連レコードを表示せずに、元のテーブルにそのフィールドのルックアップしてデータを表示するようにしましょう。
非保存の計算フィールド
この非保存の計算フィールドは、レイアウトが切り替わったり、ソートされるなどのアクションがあると再計算を実行する場合があります。基本的にデータをデータベースに保存せずに、都度計算を行いますので、当然時間がかかります。代表的なファイルメーカー初心者の落とし穴の一つと言われています。
この場合は、非保存の計算フィールドを使用せず、保存するか、できない場合は、数字やテキストタイプのフィールドを設定して、スクリプトを使って計算を行うようにしましょう。