• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 1. InnoDB 소개
    2. InnoDB의 개념과 아키텍처
    1. MySQL 과 ACID 모델
    2. InnoDB 트랜잭션 모델 및 잠금
    3. InnoDB 잠금 모드
    4. 일관성 nonlock 읽기
    5. 잠금 읽기 (SELECT ... FOR UPDATE 및 SELECT ... LOCK IN SHARE MODE)
    6. InnoDB 레코드 격차 및 넥스트 키 잠금
    7. 넥스트키 로크에 의한 팬텀 문제 해결
    8. InnoDB의 다양한 SQL문에서 설정된 잠금
    9. 암시적 트랜잭션 커밋과 롤백
    10. 교착 상태 감지 및 롤백
    11. 교착 상태 해결 방법
    12. InnoDB 멀티 버전
    13. InnoDB 테이블 및 인덱스 구조
    3. InnoDB 구성
    4. InnoDB 관리
    5. InnoDB 테이블 스페이스 관리
    6. InnoDB 테이블 관리
    7. InnoDB 압축 테이블
    8. InnoDB 파일 형식 관리
    9. InnoDB Row Storage and Row Formats
    10. InnoDB 디스크 I/O 및 파일 영역 관리
    11. InnoDB와 온라인 DDL
    12. InnoDB 부팅 옵션 및 시스템 변수
    13. InnoDB의 성능
    14. InnoDB INFORMATION_SCHEMA 테이블
    15. InnoDB 모니터
    16. InnoDB 백업 및 복구
    17. InnoDB와 MySQL 복제
    18. InnoDB 및 memcached의 통합
    19. InnoDB 문제 해결
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

14.2.10 교착 상태 감지 및 롤백

InnoDB 는 자동으로 트랜잭션 교착 상태 가 검출 된 교착 상태를 해제하기 위해 트랜잭션 (여러 적용될 수 있음)가 롤백됩니다. InnoDB 는 작은 트랜잭션을 선택하고 롤백하려고 시도합니다. 트랜잭션의 크기는 삽입, 업데이트 또는 삭제 된 행 수에 따라 결정됩니다.

InnoDB 는 innodb_table_locks = 1 (기본값)하고 autocommit = 0 의 경우 테이블 잠금을 인식하고 그것보다 상위의 MySQL 레이어는 행 레벨 락을 식별합니다. 그렇지 않으면, InnoDB 는 MySQL LOCK TABLES 문으로 구성된 테이블 잠금 또는 InnoDB 이외의 스토리지 엔진으로 설정된 락이 관련있는 교착 상태를 감지 할 수 없습니다. 이러한 상황을 해결하려면 innodb_lock_wait_timeout 시스템 변수의 값을 설정합니다.

InnoDB 트랜잭션의 전체 롤백이 실행되면 트랜잭션에서 설정된 모든 잠금이 해제됩니다. 그러나 오류의 결과로 단일 SQL 문만 롤백되면 문에 설정된 일부 잠금이 유지 될 수 있습니다. 이것이 발생하는 원인은 InnoDB 는 어느 행이 어느 문으로 설정되었는지를 나중에 확인 할 수없는 형태로 행 잠금이 포함되기 때문입니다.

트랜잭션에서 SELECT 가 스토어드 함수를 호출하고 함수의 문에 실패한 경우, 그 문이 롤백됩니다. 또한 그 후에 ROLLBACK 이 실행되면 전체 트랜잭션이 롤백됩니다.

교착 상태를 방지하기 위해 데이터베이스 작업을 구성하는 방법은 섹션 14.2.11 "교착 상태의 해결 방법" 을 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved