나는 테이블 B의 총 사용자 수를 유지하는 테이블 A를 가지고 있습니다. 테이블 A의 카운트는 테이블 B의 사용자 수와 일치합니다.트리거는 비동기식입니까?
그래서, 표 B의 사용자, 사용자 삽입 또는 삭제에 따라 카운트가 증가/감소되도록합니다.
두 가지 방법이 있습니다. - a) 표 B에 행을 삽입하는 경우 하나의 저장 프로 시저에서 표 A의 업데이트 개수를 발행 할 수 있습니다. 이 결과로 두 개의 명령이 삽입되고 그 뒤에 update가옵니다. 따라서 2 초 정도 걸립니다. (각 txn을 1 초로 가정)
b) 저장 프로 시저에 삽입 명령을 쓸 수 있습니다. 또한 표 A의 삽입이 완료된 후 표 A에서 계수를 갱신하는 트리거를 정의하십시오. 나에게 이것은 단지 표 B에 행을 삽입하는 것인데 1 초의 시간이 걸릴 것이다. 표 B에서 카운트를 업데이트하는 '삽입 트리거'가 백그라운드에서 발생하므로 비동기식 또는 비 차단 형인 것으로 생각된다.
이 가정은 맞습니까? 아니면 두 접근법이 모두 같은 시간이 걸릴 것입니다.
참고 : 테이블 A의 업데이트 횟수에 신경을 쓰지 않습니다. 따라서 큐에서와 같이 비 차단 모드에서 동기화 작업을 수행하는 방법을 찾고 있습니다!
의견이나 제안이 있으십니까?
옵션 C)보기를 사용하고 모든 트리거 또는 삽입을 회피합니다/넌센스 업데이트 –
1 초 (또는 1 밀리 초)의 트랜잭션이있는 경우 다른 곳에서 큰 문제가 발생합니다. – dkretz