私はSQL Serverにかなり慣れていませんが、かなり厄介な方法で実装されたこの非常に大きなテーブルでこの問題が発生しています。これは、デザインがどのように見えるかの要約画像です
表 A
itemID uniqueidentifier PK
name vchar(32)
datecreated datetime
dateprocessed datetime
datereviewed datetime
approvalstatus int
workflowstatus int
表 B
fieldID uniqueidentifier PK
itemID uniqueidentifier FK(referencing table A's itemID)
name vchar(32)
value vchar(32)
テーブル A には、いくつかのフィールドがテーブル B に取り込まれAccountNumber
たトランザクションの記録があります。たとえば、テーブル A のトランザクションは、名前 = アカウント番号、値 = '[実際のアカウント番号]' でテーブル B に取り込まれ、必要な itemID が指定されます。 . 現在、テーブル B は非常に大きいため、ビューを使用して特定のトランザクションの口座番号を照会すると、永遠に時間がかかります。
この名前の列はすべて以前はテーブル A にありましたが、常に変化するビジネス ニーズにより列を追加する必要があるため、チームはこの方法で構造を作成し、新しいフィールドを追加してもテーブル A に新しい列を追加する必要がないようにしました。
このテーブルを最適化する最善の方法は何ですか?