먼저 INSERT를 수행 한 다음 특정 행에서 UPDATES를 수행하는 복잡한 저장 프로 시저가 있습니다. 사용자 2가 동일한 SP를 조회하고 일부 SELECTS가 UPDATES 대신 발생해야하는 경우이 요청 완료 후 이상적입니다. 하나 이상의 요청이 동시에 발생하면, 우리는 자연스럽게 그 UPDATE에 교착 상태를 갖습니다.WAITFOR SQL의 동시성 문제
우리는 WA가 시작하기 전에 전역 임시 테이블에 플래그를 먼저 설정하고 두 번째 요청이 오면 다시 시도하기 위해 잠시 기다려야하므로 10 초 후에 다시 시도하고 업데이트가 완료된 것으로 확인되면 SELECT 로직으로 완전히 건너 뛸 수 있습니다. 이 방법으로 우리는 사용자가 교착 상태에 빠질 것이라고 느끼지 않습니다. 5 ~ 10 초 후에 결과가 궁극적으로 반환됩니다.
WAITFOR를 사용하면 향후 문제가 발생할 수 있습니다.