1

通貨換算ロジックについて質問があります。現在、多くの通貨フィールドを持つ結果セットを返します。現在、要件は、ユーザーが出力通貨形式を選択するオプションを持つ必要があることを示しています

例えば:

アカウント名 | 実際の金額 | 概算金額 | 目標金額
XYZ | $ 2000 | $ 456.78 | 890.45ドル
ABC | SD2000 | SD 456.78 | SD 890.45

ユーザーが出力形式として円を選択した場合、結果セットは次のようになります。

アカウント名 | 実際の金額 | 概算金額 | 目標金額
XYZ | ¥2233 | ¥ 42356.78 | ¥82390.45
ABC | ¥ 21213000 | ¥ 41156.78 | ¥82390.45

為替レートが利用可能であり、select ステートメントで関数呼び出しを使用して通貨列を変換できることがわかっています。ただし、レコードごとに関数呼び出しを行うと、実行時間が長くなります。

実行時間を改善するために使用できる他のロジックはありますか。

4

1 に答える 1

0

関数を使用して変換を行う場合、単一のレコードごとに関数が実行されることを知っておく必要があります。したがって、関数を実行するオーバーヘッドだけを見ると、レコードと同じ数の実行があります。

変換率を入れた変換表を作成し、それに対して結合することをお勧めします。換算レート表と元の表の両方に通貨を保持する列があることを確認してください。select ステートメントでは、rate*Actual Amount のような数式を出力します。

于 2013-05-19T11:43:36.350 に答える