2

私は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 に新しい列を追加する必要がないようにしました。

このテーブルを最適化する最善の方法は何ですか?

4

1 に答える 1