ストアドプロシージャが次のBEGIN/COMMITTRANを使用していることに気づきました。
BEGIN TRAN
INSERT INTO SomeTable
(
TypeID
)
VALUES
(
@TypeID
)
SET @OvID = SCOPE_IDENTITY()
COMMIT TRAN
INSERTおよびSCOPE_IDENTITYでトランザクションを使用することは良い習慣ですか?
このようにTRANを使用すると、INSERTプロセスが大幅に遅くなりますか?
失敗する可能性のあるステートメントが複数ある場合(つまり、2つのINSERTのように)、トランザクションを使用することを常に考えています。この場合、INSERTが失敗しているのがわかりますが、SCOPE_IDENTITYは常に成功すると思います。