組み込みコンピューターに接続されたセンサーからカウントを収集するテーブルがあります。次のスキーマを持つテーブルがあります。
CREATE TABLE Demo (
PKColumn BIGINT
, FKColumn INT
, ...
, EventDateTime DATETIME
, Count1 INT
, Count2 INT
, Count3 INT
, Count4 INT
)
問題は、FKColumn = 1 の場合、ネット カウントが (Count1 + Count3) - (Count2 + Count4) になることです。ただし、FKColumn = 2 の場合、正味のカウントは (Count2 + Count4) - (Count1 + Count3) になります。データは組み込みコンピューターからストリーミングされており、そのコンピューターのセンサーがどのように調整されているかに基づいて、各カウントが何を意味するかについてさまざまな定義を得ることができます。
幸いなことに、センサーは一度設置すると変更されることはありません。
残念ながら、センサーの取り付け方法を制御できていないため、問題が発生します。
各列の定義は FKColumn 値ごとに異なる可能性があるため、集計関数を構築する最もパフォーマンスの高い方法は何ですか? 各 FKColumn の各センサーが何であるかを定義するためのマッピング テーブルを検討していましたが、そのソリューションを構築したとき、各計算のルックアップにコストがかかりすぎるように見えました。
データベースは Azure で実行されているため、CLR 機能はありません。
他の誰かがこの状況に直面しましたか? どのように解決しましたか?