2006年06月06日

ファイル参照の最適化でパフォーマンスを改善

FMP6 から FMP7/8 にコンバートしたファイルを開くのに、1分近くかかってしまうことがありました。

「起動スクリプト」が重たくなっているのかと思いましたが、そうでもありません。そういえば Tech Info か何かで、ファイル参照を正しく設定しないと遅くなる、と書いてあったのを思い出しました。

「ファイル」メニューから「定義」→「ファイル参照...」を見てみると、たくさんあります。いままで開発時に使っていたローカルディレクトリや、昔のサーバのホスト名とか、すべて記憶されているようです。FMP6のときには、これらはスクリプト定義やフィールド定義、リレーションの定義などに分散していましたが、FMP7からここでまとめて見られるようになりました。

これらの中で、"fmnet" から始まるものが要注意です。これが、現在のホストと同じなら良いのですが、昔使っていたサーバの名前や IP アドレスが記憶されていると、それを開きに行って、タイムアウトするまで時間がかかってしまいます。

現在のホストを指すように指定してももちろん良いのですが、ホスト名が変わったときに一つ一つ修正しなければならなくなります。もし関連ファイルが同じサーバでホストされていて、同じファイル名のデータベースファイルをサーバとローカルで使用するというような変則的なことをしないのであれば、fmnet: を使わずに、すべて file:<ファイル名> としてもちゃんとサーバのファイルを開いてくれます。

これで開くのに1分かかっていたファイルが、すぐに開くようになりました。

ところで「ファイル参照」のダイアログでは、同じ関連ファイルに対して複数のファイル参照が定義されていることがあります。これは例えばフィールド定義の時とスクリプト定義のときにそれぞれ違うパスの情報が記憶されてしまったために起こります。

「同じものをさしているのだから、気持ち悪いので一つを残して他は消してしまおう」と、ここで消してしまうと大変なことになりますので、絶対にやらないようにしましょう。実際にそのファイル参照が使われているところ(リレーションシップ、スクリプト定義など)を探して、残したい方のファイル参照に書き換えてやり、そのファイル参照が使われているところがなくなって初めて削除することができます。
posted by Kojima at 10:43| Comment(0) | TrackBack(0) | 覚え書き | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。