DBのモデリングには対応DBが多く、エクスポート機能も充実しているERMasterが使い勝手が良くて重宝しますが、難点として(Eclipseプラグインだから)動作が重たいという点があります。
先日もある業務でERMasterを使った際、100テーブル程度のDBでしたが、日々定義をメンテナンスしていくうちに1アクション毎にレンダリングで数秒待たされたり、「java heap memory」エラーが出てファイル保存すらできなくなる状態に陥ってしまいました。
いろいろ手を尽くした結果その時に取った回避策は、ERMaster内で管理していた変更履歴データを削除するということでした。
ermファイルをテキストエディタ等で開くとXML形式のデータになっています。そこから手動で変更履歴部分(change_trackingタグ以下)のデータを削除します。
[html]
↓ここから
<change_tracking_list>
<change_tracking>
<updated_date>2012-03-01 20:01:24</updated_date>
<comment>xxxテーブルにxxxカラムを追加</comment>
<settings>
〜省略〜
</change_tracking_list>
↑ここまで
[/html]
この時はermファイルが実に約90MBまで肥大化していましたが、変更履歴を削除して1MBにまでサイズが削減。変更履歴のデータがファイルサイズの大部分を占めていたようでした。結局この対応によって、動作をかなり改善することができました。
ERMasterの変更履歴はさながらバージョン管理システムのような便利機能ですが、上記のように作業効率に影響を与えるようなケースでは使用しない方が良さそうです。履歴管理は外部のバージョン管理システム側に本来の役割を持たせるのが良いのでしょうね。