C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DB 同時アクセスについて

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■96572 / inTopicNo.1)  DB 同時アクセスについて
  
□投稿者/ az (17回)-(2020/12/21(Mon) 11:58:22)

分類:[データベース全般] 

DB(データベース)に、SQL Server 2016を使用しています。
C#のアプリケーションからDBにアクセスして何らかの処理(INSERT、SELECT、DELETE、UPDATE)をする際、
例えば、同じレコードに対してSELECTとDELETEが同時に実行された場合、データはどうなるのでしょうか?
そうならないようにするために、DELETE、INSERT時にはトランザクション〜コミット処理を入れていると思うのですが
SELECTでデータを読み出す際に影響しないのでしょうか?(もしくは、RDBMS側で何らかの対応をしてくれているのでしょうか?)
トランザクション〜コミット処理について理解に自信がなく、勘違いがあるかもしれないのですが、よろしくお願いします。
引用返信 編集キー/
■96573 / inTopicNo.2)  Re[1]: DB 同時アクセスについて
□投稿者/ 774RR (851回)-(2020/12/21(Mon) 12:55:59)
ロック機構がそういうときに矛盾を起こさないように制御してくれているっス
悲観的ロックと楽観的ロックがあるので目的に応じて使い分けると吉

解説なら例えば
https://qiita.com/NagaokaKenichi/items/73040df85b7bd4e9ecfc



引用返信 編集キー/
■96576 / inTopicNo.3)  Re[1]: DB 同時アクセスについて
□投稿者/ furu (100回)-(2020/12/21(Mon) 15:46:40)
No96572 (az さん) に返信
> そうならないようにするために、DELETE、INSERT時にはトランザクション〜コミット処理を入れていると思うのですが
> SELECTでデータを読み出す際に影響しないのでしょうか?(もしくは、RDBMS側で何らかの対応をしてくれているのでしょうか?)
トランザクション中にSELECTされたら
トランザクション開始時点の結果を返すよううまくやってくれます。

RDBMSを使えるのであれば、いろいろ試してみるといいです。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ