- ベストアンサー
INSERTにおいてロック処理は必要か
データベースでのロック処理に関する初歩的な質問です。 とあるテーブルのとある行をSELECTして、しかる演算処理の後に同じテーブルにUPDATEするときには、ロック処理が必要であることは理解できるのですが、 単純に独自のデータをテーブルにINSERTする場合、ロック処理は必要なのでしょうか? このテーブルには頻繁にユーザーがアクセスしてSELECTもUPDATEも走っている状態です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
RDBMSにより、同時実行でDB破壊などが起きないように排他制御されるので、それ以上のロックが必要か否かは利用者側の要件によります。 例えば、特定の期間は、特定の表に対し、他ユーザによる更新を禁止したいとか、参照さえも禁止したいとか。 また、多量更新があり、他ユーザと同時実行させるより、LOCK TABLEしてシリアライズした方がいい場合もあります。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
経験的には・・・ プライマリーキーがautoincrementで管理されて、特殊なユニーク 管理をしていないのであればinsertにはロックは不要です。 どちらかといえば参照側のトランザクションの問題でしょう
質問者
お礼
回答ありがとうございます。 勉強させていただきました。
お礼
ありがとうございました。 とても参考になりました。