Innodb 엔진 스토리지와 함께 MySQL을 사용하고 있습니다. 테이블에 여러 개의 동시 요청을 보내는 "이벤트가 발생한"환경이 있습니다. 는 기본적으로, 그것은 다음과 같이 작동 우리가 수행하는 find_or_insert 기능이 있습니다 - 찾기() -> 결과에 비어있는 경우 - 우리가 사용하고있는비 차단 환경에서 MySQL/Innodb 교착 상태 문제를 어떻게 수정합니까?
> 결과 발견()에서 -> 를 삽입 비 블로킹 MySQL 드라이버이므로 기본적으로이 작은 알고리즘을 동시에 두 번 이상 시작하면 첫 번째 결과를 삽입하기 전에 모든 검색이 실행됩니다.
불행히도 다음과 같은 오류가 발생합니다. "잠금을 시도 할 때 교착 상태가 발견되어 트랜잭션을 다시 시작하십시오."
사람 그걸 도울 수 있니?
[편집] 또한, 실제로 MySQL이 여기에 새로운 요소를 삽입하기 위해 테이블을 잠글 필요가 있는지 이해할 수 없습니다. 처음에는 자동 증가가 범인 이었지만 나는 그것을 제거했습니다 ... bu 여전히 오류가 있습니다. MySQL이 삽입 테이블을 잠글 수 없게하는 방법이 있습니까?
처음에이 질문에 유용한 제목을 찾으십시오. – VVS
아야! 좋아, 나는 더 의미있는 것으로 그것을 바꿀 것이다. –