FileMakerのレコードのエクスポートを速度測定してみた【BFL vol.1】

Picture of 執筆者:中富 悠貴
執筆者:中富 悠貴

FileMakerエンジニア

FileMakerのレコードのエクスポートを速度測定してみた

初めまして!このたびブリエでブログを書かせていただくことになりました中富と申します。どうぞよろしくお願いします!

私の担当するブログはBriller FileMaker Laboratory(BFL)と称して、FileMakerに関わる様々な検証実験を行っていくシリーズとなります。

私自身、FileMakerとの付き合いは十数年にのぼりますが、未だに使ったことのない機能や関数も数多くあり、処理を一つとっても、厳密な挙動の違いなどをなんとなく肌感覚でやっていることが多々あります。

そういったものを可視化、数値化することで新しい可能性を発見したり共有がスムーズになったりするのではないかと思い、このようにブログとして記事にさせていただきました。

私も初めて行う試みですので、至らないところもあると思いますが、温かい目で見守っていただければ幸いです。

目次

テーマ

それでは早速今回のテーマに移りましょう。

今回のテーマはずばり「レコードのエクスポートの速度測定」です!

初回なので、よく利用する機能の比較ということで、レコードのエクスポートを取り上げさせていただきました。

レコードのエクスポートについて

レコードのエクスポートはその名の通り、FileMakerのレコードデータを他のファイルに出力する標準機能です。

FileMakerでは様々な拡張子のエクスポートが可能となっておりますので、用途に応じて選ぶことになると思われます。

詳しくはこちらのFileMaker Pro からのデータのエクスポートを参照ください。

速度測定について

この検証ではレコードのエクスポートの拡張子毎による、ファイルの出力速度を測ります。

拡張子によって、ファイルの構造が変わるため、当然ながらその出力速度にも差が出ます。

「ファイルの拡張子は選ばないので、とにかく早く出力したい」等の状況があれば、どの拡張子で行えば早いのか知っておくと今後の開発にも役立つと思います。

今回対象となる拡張子(文字コード)は以下のものになります。

  • TAB:タブ区切り値形式(UTF-8)
  • CSV:コンマ区切り値形式(UTF-8)
  • DBF:dBASE III および IV DBF 形式(Shift-JIS)
  • MER:Merge 形式(UTF-8)
  • HTM:HTML テーブル形式(UTF-8)
  • FMP12:FileMaker Pro 形式(UTF-16)
  • XML:XML 形式(UTF-8)
  • XLSX:Microsoft Excel 形式(UTF-16)

(参考:サポートされているインポートおよびエクスポートファイルフォーマット

環境とスペック

検証するにあたっての環境と実機のスペックを紹介します。

ソフトウェア:FileMaker Pro 21.1.1.41
OS:Windows 11 Pro(24H2)
CPU:12th Gen Intel(R) Core(TM) i5-12450H 2.00 GHz
メモリ:32.0 GB

検証方法

1. ファイルの準備

まずは下図のようなファイルを用意します。

フィールドを6種類(数字、テキスト、計算、日付、時刻、タイムスタンプ)のタイプ毎に用意し、適当な入力で100,000レコードほど作成しました。

BFL vol.1 ファイルの準備

2. スクリプトの内容

スクリプトは下図のように設定しました。

スクリプトを実行するとデスクトップにファイルが自動で作成され、作成までにかかった時間がミリ秒単位でダイアログに表示されます。

3. 速度測定

各拡張子毎に3回ほどスクリプトを実行し、平均した値(小数第四位を四捨五入)を結果として出します。

例:xlsx出力で1回目が3.243秒、2回目が3.247秒、3回目が3.300秒で、平均3.263秒が結果となる。

検証結果

 ファイル形式 1回目(s) 2回目(s) 3回目(s)結果(平均)(s) 
 tab 0.747 0.714 0.8050.755
 csv 0.771 0.775 0.7570.768
 dbf 1.732 1.760 1.7341.742
 mer 0.771 0.727 0.7780.759
 htm 1.2771.304  1.3201.300
 fmp12 4.8124.329  4.2704.470
 xml 0.999 1.090 1.008 1.032
 xlsx 3.296 3.306 3.272 3.291

まとめ

検証の結果、拡張子毎の速度は以下のようになりました。

(早い)tab ≒ mer ≒ csv > xml > htm > dbf > xlsx > fmp12(遅い)

今までなんとなくxlsxよりtabやcsvの方が早いぐらいの認識しかなかったのですが、merもtabやcsvに匹敵するほど早かったんですね。

加えて一番遅いのはxlsxではなくfmp12だということもわかりました。一番早いtabが0.755秒なので、実に3.715秒差。大変わかりやすい結果になってよかったです。

今回出力したのは、ローカル環境で単純に入力されたデータだけでしたので、10万レコードでもかなり早く出力することができましたが、これがサーバーから計算式で取得したフィールドを出力すると、より差が大きくなると思います。

時は金なりというように、同じ結果になるなら早いほうが絶対いいので、今回の検証結果もいつか役立つ日が来てくれると嬉しいです。

以上が【BFL vol.1】 FileMakerのレコードのエクスポートを速度測定してみたの検証となります。

ここまで読んでくださって誠にありがとうございました。また次回のBFLもお楽しみに!

また、株式会社ブリエでは、FileMakerを活用したシステム開発や運用支援を行っています。

業務を早くしたい、円滑にしたいなどのご相談もお気軽にお問い合わせください。

まずは、資料請求

ダウンロードできる資料の内容
・資料はすぐにメールで届きます
・1分でわかる株式会社ブリエの会社概要
・FileMaker開発の概算料金

無料相談はこちら

お問い合わせ・ご相談できること
・自社の業務の一元管理の進め方 / 改善について相談したい
・どのような機能が作れるのか知りたい
・自社に合う形で導入したときの料金を知りたい

Picture of 執筆者:中富 悠貴
執筆者:中富 悠貴

株式会社ブリエFileMakerエンジニア。ローコード開発を筆頭にプロコードからフロントエンドまで、多種多様な開発経験を活かしたフットワークの軽さが自慢のオールラウンダー。より便利に、より使いやすいUI/UXデザインをモットーに、新しい分野にも積極的に挑戦することで、あらゆるニーズに柔軟に対応できるよう、日々勉強を続けております。

【全国対応】株式会社ブリエは、企業の経営課題であるDX化、業務効率化、ペーパーレス化、情報の一元管理など、ビジネスニーズの変化に合わせてFileMakerで業務システムを開発し、柔軟に拡張して解決します。あらゆる業種や規模の企業、非営利団体、学校に固有の課題を解決するカスタムAppをご提案します。

新着記事
アーカイブ
まずは、資料請求

ダウンロードできる資料の内容
・資料はすぐにメールで届きます
・1分でわかる株式会社ブリエの会社概要
・FileMaker開発の概算料金

無料相談はこちら

お問い合わせ・ご相談できること
・自社の業務の一元管理の進め方 / 改善について相談したい
・どのような機能が作れるのか知りたい
・自社に合う形で導入したときの料金を知りたい