트랜잭션 내에서 dapper async 사용하기

asynchronous dapper transactions

문제

우리는 현재 매우 비싼 업데이트 / 삭제 시나리오를 처리하기 위해 dapper를 사용하고 있으며 우리는 매우 만족합니다.

이제 우리는 속도를 높이고 싶은 다음 시나리오를 가지고 있습니다.

  • 업데이트 1은 약 60 초 정도 소요됩니다.
  • 업데이트 2는 1 초 미만입니다.

이 작업을 동기화하면 총 대기 시간은 약 61 초입니다. ExecuteAsync 메서드를 사용하여 첫 번째 업데이트를 호출 할 수는 있지만 기다릴 필요는 없습니다. 이렇게 :

Connection.ExecuteAsync("Update 1", new { someValue }, Transaction, 120);
Connection.Execute("Update 2", new { someValue }, Transaction);

await 키워드가 없음을 확인하십시오.

이렇게하면 작업 속도가 빨라지지만 좋은 생각입니까? 트랜잭션으로 작동합니까? 트랜잭션 커밋이 발생하고 첫 번째 업데이트가 아직 실행 중일 때 어떤 일이 발생합니까? 아니면 기다리지 않고 ExecuteAsync를 사용하는 것은 나쁜 생각입니까?

업데이트 2가 업데이트 1에 종속되지 않는다고 가정합니다.

인기 답변

첫 번째 업데이트가 두 번째 동일한 데이터에서 작동하지 않고 결과를 기다릴 필요가없는 경우 기다리지 않고 비동기 모드로 실행할 수 있습니다. 이 페이지를 읽는 것이 좋습니다.

http://www.joesauve.com/async-dapper-and-async-sql-connection-management/

데이터베이스에 대한 비동기 연결을 사용하여 비동기 명령을 실행하는 방법을 설명합니다. 유용하다고 생각합니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.