私は、本質的に計算のバッチであるプロジェクトを持っています。かなりの数のパラメーターに依存しますが、それらは定数ではありませんが (時間の経過とともに変化する可能性があります)、バッチ コンテキストで変化する方法はありません。
明確にするために、VAT 率について考えてみてください。時間の経過とともに変化する可能性がありますが、会計期間を締めると、決算自体に関係するものに対して定数のように動作します。
これらのパラメーターはあちこちにあるため、DB ルックアップをできるだけ制限する方法を見つけたいと考えています。理想的には、DETERMINISTIC関数を実装しますが、これは問題外です-関連ドキュメントで示唆されています。
アイデア/提案はありますか?
前もって感謝します。
編集: これらの値はデータベースに保存されることにも注意してください。特定の時点での値を知ることができるように、VAT 率を保持する場合があるためです。予期されていませんが、以前の期間に関するバッチが再度実行される可能性があります。その場合、そのパラメータの値を当時のように知る必要があります。
DETERMINISTIC 関数の利点は、一貫性のある結果 (同じ入力は常に同じ出力を与える) を生成するという事実を考えると、これらの値が定数であり、それらを追跡したくない場合に行うことです。しかし、ドキュメントには、関数が db ルックアップを行う場合、DETERMINISTIC であってはならないことが明確に記載されています。