GUID 主キーを持つ 1000 万から 2000 万行の 2 つのテーブルと、少なくとも 12 のテーブルが外部キーを介して関連付けられています。ベース テーブルには、それぞれ 10 ~ 20 のインデックスがあります。
GUID から BigInt プライマリ キーに移行しています。誰かがアプローチに関する提案を持っているかどうか疑問に思っています。今考えている方法は次のとおりです。
- 関連するすべてのテーブルのすべてのインデックスと fkey を削除します。
- 各テーブルに「NewPrimaryKey」列を追加します
- 2 つのベース テーブルでキー ID を作成する
- データ変更のスクリプトを作成する "テーブル x を更新し、NewPrimaryKey = y を設定します。ここで、OldPrimaryKey = z
- 元の主キーの名前を「oldprimarykey」に変更します
- 「NewPrimaryKey」列の名前を「PrimaryKey」に変更します
- すべてのインデックスと fkey をスクリプトで戻す
これは良いアプローチのように思えますか? これに役立つツールまたはスクリプトを知っている人はいますか?
TD: 追加情報ごとに編集。GUID がプライマリである場合のアプローチに対処するこのブログ投稿を参照して ください。 /Default.aspx