FileMaker Pro(ファイルメーカー)において、最も使われるスクリプトステップはレイアウト切り替えと検索モードに切り替えではないでしょうか? とくにこの二つのセットはよく使われます。
一般的に、「検索モードに切り替え」をしてから「レイアウトを移動」をしたほうが一般的にパフォーマンスがいいとされています。とはいいつつ、昔に比べてFileMaker自体のパフォーマンスも上がってきている中でどうなのかを検証していきたいと思います。
計測するスクリプトの前提条件
どちらの方がパフォーマンスがいいかを調べるにあたり、下記の条件の下で、レコードを検索するスクリプトを作成し、時間を計測してみました。
レコード数 | 約400万レコード |
---|---|
FileMaker Serverの場所 | ローカル(スクリプトを実行するPCと同じネットワーク) |
パターンの違う、二つのスクリプトを用意して、それぞれ10回ずつ実行してみました。また、検索するフィールドは、索引が設定されているフィールドです。
また、検索条件が全く同じものを実行しても毎回差が出なさそうなので、検索条件が変わるようにしてみました。
計測結果
※10回行った後、最も高かった値、最も低かった値を抜いた8回分を下記に表示しています。
検索モード→レイアウト移動 | レイアウト移動→検索モード | |
---|---|---|
801 | 333 | |
313 | 389 | |
316 | 290 | |
299 | 1060 | |
651 | 655 | |
782 | 183 | |
776 | 400 | |
616 | 268 | |
平均値 | 569 | 447 |
総評
結果としてはなんと「レイアウト移動」→「検索モード切替」という結果に。10回のテストなので何とも言えない結果ですが、FileMaker自体のパフォーマンスも上がっているので、それほど差はないのかもしれません。
ただし、この検索したテーブルには、計算フィールドなど重くなる原因となるフィールドは含まれていません。非保存の計算フィールドなどが含まれている場合は「検索モード切替→レイアウト移動」の方がパフォーマンスがよくなる可能性は十分にあるでしょう。