1

主キー値の大部分として標準のソートされていない GUID を使用し、クラスター化されたインデックスでも使用するブラウン フィールド SQL Server 2005 データベースを使用しています (これはパフォーマンスに悪影響を及ぼします)。

これらを順次 GUID に変更するにはどうすればよいですか? 課題の 1 つは、それぞれの主キーを変更するときにすべての外部キー値を置き換えることです。

この種の変換を実行するためのツールまたはスクリプトを知っていますか?

4

3 に答える 3

5

デフォルトでは newsequentialid() 関数しか使用できないことに注意してください

2列の新しいテーブルを作成します。元のテーブルのキーをこのテーブルに挿入します(他の列はそのままにしておきます)

元のテーブルに結合し、newsequantialid で PK を更新します。カスケード更新がある場合、FK は自分自身で更新する必要があります

于 2009-06-19T13:31:32.567 に答える
0

SequentialGuidは、GuidがPKである場合のパフォーマンスに最適です。これが彼らの存在の背後にある理由です。

于 2012-11-28T16:32:45.600 に答える
0

それがパフォーマンスに悪いことをどのように知っていますか?

GUID の利点は、複数のプロセスが同時にレコードを作成することを心配する必要がないことです。プログラムによっては、コードを大幅に簡素化できます。

于 2009-06-19T13:32:51.923 に答える