1

ESQL には SHARED CONSTANTS があります。それらが定数であり、複数のスレッドが同じ値にアクセスしても変更されないのに、なぜそれらが必要なのですか。

DECLARE MYCONST SHARED CONSTANT CHAR 'My Constant';

または、一般的に、共有定数が必要な理由を知りたいですか??

4

2 に答える 2

0

この投稿によると、SHARED CONSTANT を読み取るには、通常の CONSTANT よりも時間がかかります。定数を含むすべての共有変数にロック機構があるようです。

ただし、おそらくすべての非共有定数は、各フロー インスタンスの開始時にメモリにコピーされます。多くの定数があり、各フローがそのうちのいくつかにしかアクセスしない場合は、SHARED CONSTANTS の方がパフォーマンスが高いと言えます。

パフォーマンスが問題になる場合は、どのオプションがより短い時間でデータを処理するかをテストします。しかし、すべてのメッセージ フローに最適なソリューションはありません。

于 2017-09-17T05:01:30.753 に答える