execute メソッドsql
を使用して、古いテーブルから新しいテーブルにデータを移行するスクリプトがあります。FluentMigrator
これは私のスクリプトです:
INSERT INTO [Demo].[C]([key], [value], [tempID]) SELECT [name], [value], [userID] FROM [Demo].[A]
INSERT INTO [Demo].[B]([parentID], [propertyID]) SELECT [tempID], [id] FROM [Demo].[C] WHERE [tempID] IS NOT NULL
UPDATE [Demo].[C] SET [tempID] = NULL
userProperty
テーブルには約 1,100 万行あり、次のようになります。
- 最初のステップでは、
C
テーブルの列に挿入する必要があります (1,100 万行)。 - ステップ2、CテーブルからBテーブルにデータを挿入する必要があります.(1100万行)
- ステップ 3、C テーブル (1100 万行) を更新する必要があります
合計 1,100 万行ですが、次のエラーが発生します。
エラーは、「ACTIVE_TRANSACTION」により、データベース「test」のトランザクション ログがいっぱいです。
one time running
これはスクリプトなので、最速の方法を見つけたいです。