SQLTransactionを使用する適切な時期はいつですか?
私はそれらをすべてのINSERT、UPDATE、およびDELETEステートメントに使用します。
これは正しい使用法ですか、それとも私は少しやり過ぎですか?
SQLTransactionを使用する適切な時期はいつですか?
私はそれらをすべてのINSERT、UPDATE、およびDELETEステートメントに使用します。
これは正しい使用法ですか、それとも私は少しやり過ぎですか?
一連のステートメントをアトミックに処理する必要がある場合は、トランザクションを使用します。つまり、すべてが成功してコミットされるか、すべてロールバックされます。
単純なステートメントはすでにアトミックであるため、個々のステートメントごとにトランザクションを明示的に作成する必要はありません。
複数のステートメントを実行する予定があり、どこかでエラーが発生した場合にステートメントの結果として生じたすべてのデータ変更をロールバックする予定がある場合にのみ、トランザクションが必要です。単一の update/delete ステートメントをラップする必要はありません。1 つのコマンドでエラーが発生した場合は、フロントエンド コードでエラーをキャッチして処理するだけです。
コマンドが単一で発行され、グループではない場合、それはおそらくやり過ぎです。トランザクションは、SQL コマンドをグループ化するために使用されます。グループはすべてのメンバーが成功する必要があります。または、まったく成功しません。
http://en.wikipedia.org/wiki/Atomicity_%28database_systems%29