質問

特定の時点で、資産には効果的な価格があります。一部の資産には、週に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

anの効果的な価格を照会します AssetId 簡単ですが、計算にはわずかな時間がかかります。

データを物理的に保存することが理想的です。そうすれば、データのみが変更されるように dbo.AssetPrice 効果的な価格の再計算が必要です。インデックス付きビューでは関連する集計関数が許可されていないため、インデックス付きビューを作成できないと思います。

テーブルを調整して、効果的な価格(最新の価格)を非常に迅速に取得するにはどうすればよいですか?

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top