2013-06-25 3 views
0

InnoDB 테이블에서 잠긴 행은 어떻게됩니까? 다른 사용자가 UPDATE를 호출합니까? 잠금 해제 된 다음 다른 사용자가 업데이트 할 때까지 기다리지 않습니까? 따라서 사용자 페이지는 잠기지 않고 실행될 때까지 기다리고 다른 사용자 표시 페이지의 지연으로 구성됩니다.이미지 파일을 업로드하고 mysql 테이블을 추적 유지

사람들이 사진을 업로드 할 수있는 웹 사이트와 업로드 된 사진의 현재 수 (그리고 폴더 이름이 "1", "2"등)를 포함하는 1 행의 표가 있습니다. 특정 수의 사진 (예 : 7000) ... 그것이 증가하는 이유입니다.

제 스크립트가 옳은지 궁금합니다.

현재 사용중인 폴더 ("1", "2", "3"...)에 대한 열과 현재의 현재 사진 수에 대한 테이블 (mya_pictures) 폴더 (최대 7000 - 해당 폴더의 파일 수를 초과 할 수 없음) ....

파일의 증분은 파일이 성공적으로 업로드되면 UPDATE로 수행됩니다. 다중 사용자 환경에서 잘 작동하는지 궁금합니다.

감사

워드 프로세서 당으로

답변

1

: 두 번째 트랜잭션이 행을 업데이트하거나 이미 호환되지 않는 모드에서 이전 트랜잭션에 의해 잠겨 테이블을 고정하고자하는 경우

는, InnoDB는 행에 대한 잠금 요청을 추가 해당 대기열로 이동합니다. 트랜잭션에 의해 획득 된 잠금의 경우, 해당 행 또는 테이블에 대한 잠금 대기열에 이전에 입력 된 모든 호환 가능하지 않은 잠금 요청을 제거해야합니다 (해당 잠금을 보유하거나 요청하는 트랜잭션은 확약 또는 롤백 중 하나임).

당신은 이노 디비 잠금 여기에 대해 읽을 수 있습니다

http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html

http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html

~ K

+0

들으 형제를 당신의 대답 :)에 대한 –

관련 문제