FMDeveloperToolでFileMakerファイルを分析する方法【コマンド例付き】
皆さまこんにちは!よしです。
FileMaker の動作が重いと感じても、「どのテーブルやフィールドが原因なのか分からない」ということはありませんか?
FMDeveloperToolを使えば、テーブル・フィールドのデータサイズや索引(インデックス)サイズを調査でき、ボトルネックの特定に役立ちます。
本記事では、FMDeveloperToolを使ったサイズ分析の方法を、実際のコマンド例とともに紹介します。
本記事ではFMDeveloperToolを使ってFileMaker ファイルを分析する方法を紹介します。
目次
📚 FMDeveloperToolシリーズ
FMDeveloperToolの活用方法をシリーズでご紹介しています。
- 第1回:FileMaker Server上でFMDeveloperToolを動かす方法【シェルスクリプト実行】
- 第2回:FMDeveloperToolでFileMaker Serverへアップロードする方法【コマンド例付き】
- 第3回(本記事):FMDeveloperToolでFileMakerファイルを分析する方法
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 | -cf | CSV形式で出力。--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 導入事例まとめ