0

私は ASP.NET オンライン ショップに取り組んでいます。すべての製品にはエンティティがあり、ユーザーがそれを販売する場合でも、そのエンティティを減らす必要があります。このフィールドはすべてのユーザー間で共有されるため、(共有データの問題により) 負になる場合があります。さて、どうすればこの問題を防ぐことができますか?これにトランザクションを使用できますか? 可能であれば、どの分離レベルを使用すればよいですか? そうでない場合は、どうすればよいですか?

4

1 に答える 1

0

可能であれば、デザインを変更することをお勧めします。減少/増加する、つまりフィールドを更新する代わりに、販売が行われるたびにレコードを挿入します。次に、ストアド プロシージャを作成し、定期的に実行するようにスケジュールします。

これにより、一度に 1 つのプロセスだけがカウンターを更新することが保証されます。

これは、フィールドが一貫していることを 100% 保証する唯一の方法です。

悲観的ロックを提案する人もいるかもしれませんが、私は決してそれを使用しません。

于 2010-04-21T16:37:14.310 に答える