みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
リレーションしたテープルからフィールドの値を取得するのに
計算値自動入力で取得した場合と計算フィールドで取得した場合
どちらも同じ結果を取得できますが、計算フィールドは入力変更
ができない事の他に違いはありますか?
パフォーマンスはどちらがいいのですか?
Offline
リレーション先のフィールドを参照する計算フィールドは、毎回計算されますので、リレーション先のフィールドが変更された場合には、自動的に追従していきます。
自動入力では、値はそのままですね。
動きが違いますので、使う目的が全く違います。
Offline
関連レコードのフィールド値を参照する計算フィールドは非保存となり
値を必要とするたびに再評価されますので常に最新の計算結果が得られます。
入力値の自動化(計算式)は計算式に含まれる自テーブルのフィールドが変更された場合に再評価されます。
Shinさんも書かれている通り関連レコードのフィールド変更だけでは値は再計算されません。
非保存の計算フィールドは索引が利用できないため処理対象のレコード数に比例して処理時間が増えますが
常に最新の計算結果が得られるという利点があります。
入力値の自動化も "自テーブルのフィールドが更新された場合に再評価" という仕様を活用すれば
任意のタイミングで再計算させることもでき、索引も持てますからパフォーマンス的に有利です。
どちらが良いという明確な答えはありませんから
目的によって使い分けるというのが曖昧ながら答えのひとつでしょう。
Offline
Shinさん Mozさん
大変解り易い説明ありがとうございます。
了解いたしました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 554.62 KiB (Peak: 587.51 KiB) ]