2010-04-21 2 views
0

저는 ASP.NET 온라인 상점에서 일하고 있습니다. 모든 제품에는 엔티티가 있으며 사용자도 판매하므로 엔티티를 줄여야합니다. 이 필드는 모든 사용자가 공유하기 때문에 음수 일 수 있습니다 (공유 데이터 문제로 인해). 이제 어떻게이 문제를 방지 할 수 있습니까? 이를 위해 거래를 사용할 수 있습니까? 할 수 있으면 격리 수준을 사용해야합니까? 그리고 그렇지 않다면 어떻게해야합니까?공유 데이터 문제

답변

0

가능한 경우 디자인을 일부 변경하는 것이 좋습니다. 감소/증가 대신, 즉 필드 업데이트, 나는 매도 때마다 레코드를 삽입합니다. 그런 다음 저장 프로 시저를 만들고이를 정기적으로 실행하도록 예약합니다.

이렇게하면 한 번에 하나의 프로세스 만 카운터를 업데이트합니다.

이것은 내가 일관성있게 필드를 100 % 보장한다는 것을 알고있는 유일한 방법입니다.

어떤 사람들은 비관적 인 자물쇠를 제안 할 수도 있습니다. 나는 어떤 상황에서도 절대 사용하지 않을 것입니다.