開発ブログ

FMDeveloperToolでFileMakerファイルを分析する方法【コマンド例付き】

FMDeveloperToolでFileMakerファイルを分析する方法【コマンド例付き】

皆さまこんにちは!よしです。

FileMaker の動作が重いと感じても、「どのテーブルやフィールドが原因なのか分からない」ということはありませんか?

FMDeveloperToolを使えば、テーブル・フィールドのデータサイズ索引(インデックス)サイズを調査でき、ボトルネックの特定に役立ちます。

本記事では、FMDeveloperToolを使ったサイズ分析の方法を、実際のコマンド例とともに紹介します。

本記事ではFMDeveloperToolを使ってFileMaker ファイルを分析する方法を紹介します。

📚 FMDeveloperToolシリーズ

FMDeveloperToolの活用方法をシリーズでご紹介しています。

1.イントロダクション

FMDeveloperToolでは、ファイル内部のデータサイズや索引サイズを調査できます。

例えば、

重いのはわかるけれど、どこから手をつけたら良いかわからない、、、

そんな時はFMDeveloperToolが糸口になるかもしれません。

FMDeveloperToolでは、下記の機能があるためです。

・フィールド・テーブルのデータサイズの取得

・フィールド・テーブルの索引サイズの取得

この機能を使うことで異常なフィールド・テーブルがわかれば改善策を打つことが可能です。索引のサイズが異常に肥大化している場合は、索引を作り直すことですんなり解決するかもしれません。

Claris FileMaker Developer Tool

コマンドライン による自動制御によって効率的でエラーのないソリューションの展開を実現しましょう。

Claris FileMaker Developer Tool(FMDeveloperTool)は、コピー、クローン、XMLファイルとして保存、一貫性チェック、暗号化、復号化、キオスクモードの有効化、管理者アクセスの削除、修復の実行など、データベースの開発タスクを実行するコマンドラインツールです。スクリプトによる展開や、より簡単な自動制御のためにご利用ください。

引用: https://support.claris.com/s/answerview?anum=000040031&language=ja


2.FMDeveloperToolの準備

まずはFMDeveloperToolをダウンロードして実行環境を準備します。

①公式ページよりFMDeveloperToolをダウンロードする

https://community.claris.com/ja/s/article/Claris-FileMaker-Developer-Tool

公式ページの下部にダウンロードリンクがあります。

本記事ではmacOS版で説明いたします。

※Claris FileMaker Developer Tool をWindowsで起動するためには、Visual C++ 再頒布可能パッケージがインストールされている必要があるようです。

合わせてダウンロードしましょう。

※FileMakerServerのインストーラーを使うことでも入手することができます。

参考:https://community.claris.com/ja/s/article/Claris-FileMaker-Developer-Tool

② ZIPファイルを解凍

ダウンロードしたZIPファイルを解凍します。②zip形式で保存されますので解凍します。

③ 作業フォルダを作成

Desktopなど任意の場所に作業フォルダを作成し、以下を配置します。③Desktopに作業フォルダを作成し、下記のファイルを格納します。

・FMDeveloperTool

・調査したい.fmp12

※ test.fmp12には1万件ほどのダミーデータが入ってます。

④ ターミナルで作業フォルダへ移動

作業フォルダを右クリック>サービス>新規ターミナルタブでフォルダに移動

pwdと入力して、Enterを押下で下記のようになっていれば準備完了です。


3.フィールド・テーブルのデータサイズの取得

指定したフィールドのデータサイズを取得

特定のフィールドがどれくらい容量を使用しているか確認できます。

./FMDeveloperTool --querySize ファイル名.fmp12 アカウント名 パスワード -tt "テーブル名" -tf "フィールド名"

✅ 各テーブルのデータサイズを取得

テーブルごとの容量を大きい順に確認できます。

./FMDeveloperTool --sortBySize ファイル.fmp12 アカウント名 パスワード -su 単位

✅ 指定したテーブルの各フィールドのデータサイズを取得

テーブル内で容量を多く使用しているフィールドを確認できます

./FMDeveloperTool --sortBySize ファイル.fmp12 アカウント名 パスワード -tt "テーブル名" -su 単位


4.フィールド・テーブルの索引サイズの取得

データサイズだけでなく、索引(インデックス)のサイズも確認できます。

索引が肥大化している場合は、再構築によって改善するケースもあります。

✅ 指定したテーブルの索引サイズを取得

./FMDeveloperTool --sortBySize ファイル.fmp12 アカウント名 パスワード -tt "テーブル名" -qi -su 単位

✅指定したフィールドの索引サイズを取得

./FMDeveloperTool --querySize ファイル名.fmp12 -tt アカウント名 パスワード -tt "テーブル名" -tf "フィールド名" -qi

💡 FMDeveloperToolシリーズ

分析が終わったファイルは、FMDeveloperToolを使ってFileMaker Serverへアップロードすることもできます。

FMDeveloperToolでFileMaker Serverへアップロードする方法【コマンド例付き】


5.環境情報

PC:M1 Mac

OS:Tahoe 26.0.1

メモリ:8GB

Runtime: FMDeveloperTool 21.1.8


6.関連オプション一覧

本記事に関連するオプションの一覧です。

全てのオプションは下記コマンドで確認できます。

./FMDeveloperTool --help

オプション短縮形内容・詳細
--target_tablename-tt対象テーブル名。特定のテーブルのみを調査したい場合に指定します。
--target_fieldname-tf対象フィールド名。特定のフィールドのサイズをピンポイントで確認します。
--query_index-qiインデックスサイズを対象にする。デフォルトの「データサイズ」ではなく、インデックス(検索用索引)のサイズを計算・ソート対象にします。
--exclude_container-ecコンテナデータを除外。埋め込みコンテナフィールドのデータを計算から除きます。テーブル内の純粋なテキスト/数値データの量を知りたい時に有効です。
--quantity-qu表示件数の制限。上位10件だけ見たい場合などに数値を指定します。未指定なら全件表示されます。
--size_unit-suサイズ単位の指定。bytes, kb, mb, gb から選択可能。デフォルトは bytes です。
--csv_format-cfCSV形式で出力。--sortBySize と組み合わせて、結果をスプレッドシートなどで解析したい場合に便利です。
--sortBySizeなしサイズ順にソートしてレポートファイル内に存在するテーブル、フィールド、または索引のサイズを算出し、肥大化している順に並べ替えて表示することが可能です。

💡 メモ1

ファイルを開いた状態だと、下記のメッセージが表示されます。

Couldn't open the source file because "(803): File already open but single user 

[extended error (20402): File permission problem]."

💡 メモ2

完全アクセスのアカウントがないファイルは、アカウント名、パスワードは省略可


7.まとめ

Claris FileMaker Developer Tool(FMDeveloperTool)を使うことで、ファイルの状態を分析することができます!

今回紹介した、

  • テーブルのデータサイズ
  • フィールドのデータサイズ
  • テーブル・フィールドの索引サイズ

を確認することで、パフォーマンス低下の原因を調査する際の大きな手掛かりになります。

ご利用中のファイルで動作が重いと感じた時は、FMDeveloperToolを試してみてください!

Claris FileMaker Developer Toolについては記事が他にもございます!

ぜひチェックしてみてください✨

🔗参考資料

🎥 Claris公式

Claris FileMaker Developer Tool(ダウンロード)

https://community.claris.com/ja/s/article/Claris-FileMaker-Developer-Tool

Claris FileMaker Developer Tool(ヘルプ)

https://support.claris.com/s/answerview?anum=000040031&language=ja


📚 FMDeveloperToolシリーズ

FMDeveloperToolの活用方法をシリーズで紹介しています。

● FileMaker Server上でFMDeveloperToolを動かす方法【シェルスクリプト実行】

FMDeveloperToolをシェルスクリプトから実行し、自動化する方法を紹介しています。

● FMDeveloperToolでFileMaker Serverへアップロードする方法【コマンド例付き】

FMDeveloperToolを使ってFileMaker Serverへアップロードする手順を解説しています。


🌐サポータス公式サイト(ソリューション紹介)

 L SNS( Twitter | Facebook
 L FileMaker 導入事例まとめ

投稿者 よし

こんにちは。 私は、よしと言います。 2022年4月に入社した新人でございます。 覚えていただけると幸いです。 FileMaker初心者です。 趣味は、映画を見ることやゲームをすることが好きです。 自作PCを作ったりもしてます。 好きな食べ物は、チョコ、ハンバーガー、ピザです。

業務効率化のことなどお気軽にご相談ください

お問い合わせ

お問い合わせ

導入に関するお悩みや
ご不明点お応えいたします

相談する

お見積り

お見積り

お客様の状況に合わせて
最適なプランをご提案いたします

お見積りを依頼

資料ダウンロード

資料請求

FileMaker とサポータスの魅力が
分かる資料セットをダウンロード

資料をダウンロード