0
私は一括挿入として5000レコードが挿入されることを期待しているテーブルを持っていますが、私は各ステートメントのテーブルから最大IDを選択する必要があります。最大IDを1回インクリメントしてレコードをすばやく挿入できますが、他のユーザーが同じストアドを使用してウィックを挿入すると競合が発生する可能性があります Spを使用して挿入を完了するまでは、または通常の挿入スクリプトですか?挿入中にテーブルをロックする
私は一括挿入として5000レコードが挿入されることを期待しているテーブルを持っていますが、私は各ステートメントのテーブルから最大IDを選択する必要があります。最大IDを1回インクリメントしてレコードをすばやく挿入できますが、他のユーザーが同じストアドを使用してウィックを挿入すると競合が発生する可能性があります Spを使用して挿入を完了するまでは、または通常の挿入スクリプトですか?挿入中にテーブルをロックする
Quassnoi氏によると、IDENTITY
を使用し、複雑で複雑なプロセスはほとんどありません。
あなたが説明したプロセスを使用することにコミットしている場合、それは取るべきすべてがある:
INSERT INTO MyTable WITH (TABLOCK)
(field 1, field2, field3...)
VALUES
(value 1, value 2, value 3...)
TABLOCK
ヒントが挿入/更新のための排他表ロックを置きます(あなたもあるTABLOCKX
を使用することができます明示的排他ロックですが、SELECT
以外は必要ありません)。
TABLOCK
TABLOCK
TABLOCK
TABLOCK
ヒントでは、トレースフラグが正しく設定されている場合は最小限のログに記録されるようになりますが、これは通常は大幅に高速です。
「IDENTITY」だけではないのはなぜですか? – Quassnoi
もう少し句読点が良いでしょう。 –