特定の時点で、資産には実効価格があります。資産によっては、週に 1 回、または 1 日 1 回新しい価格になるものがあります。直近の価格が「実効価格」です。
記述された関係を格納するテンポラル テーブルは次のようになります。
CREATE TABLE dbo.AssetPrice
(
AssetId int NOT NULL -- FK to the table dbo.Asset
,EffectiveDate datetime NOT NULL
,Price decimal NOT NULL
CONSTRAINT PK_AssetPrice PRIMARY KEY CLUSTERED (AssetId,EffectiveDate,Price)
)
データは次のようになります。
AssetId EffectiveDate Price
------- ------------- -----
1 2012-01-11 1.21
1 2012-01-12 1.22
2 2012-01-11 3.55
2 2012-01-12 3.60
3 2012-01-04 5.15
3 2012-01-11 5.14
の実効価格を照会するのAssetId
は簡単ですが、計算にはかなりの時間がかかります。
データを物理的に保存して、データが変更された場合にのみdbo.AssetPrice
実効価格の再計算が必要になるようにするのが理想的です。関連する集計関数はインデックス付きビューでは許可されていないため、インデックス付きビューを作成できないと思います。
テーブルを調整して実効価格 (最新の価格) を非常に迅速に取得するにはどうすればよいですか?