• 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의 개념과 아키텍처
    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
    1. 온라인 DDL 개요
    2. 온라인 DDL의 성능과 동시성 고려 사항
    3. 온라인 DDL의 SQL 구문
    4. DDL 문의 결합 또는 분리
    5. 온라인 DDL의 예
    6. 온라인 DDL 구현에 대한 세부 항목
    7. 온라인 DDL에서 충돌 복구의 작동 방식
    8. 분할 된 InnoDB 테이블에 대한 온라인 DDL
    9. 온라인 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.11.9 온라인 DDL 제한

온라인 DDL 작업을 수행하는 경우 다음과 같은 제한을 고려하십시오.

  • 테이블을 복사하는 온라인 DDL 조작 중에 파일은 임시 디렉토리 (Unix에서는 $TMPDIR Windows에서는 %TEMP% 또는 --tmpdir 구성 변수에 지정된 디렉토리)에 기록됩니다. 각 임시 파일은 새로운 테이블이나 인덱스에 하나의 열을 저장할 수있는 충분한 크기를 가지고 최종 테이블 또는 인덱스에 병합되면 즉시 삭제됩니다.

  • 모두 같은 인덱스를 지정하는 DROP INDEX 및 ADD INDEX 절을 포함 ALTER TABLE 문은 고속 인덱싱이 아니라 테이블 복사본을 사용합니다.

  • TEMPORARY TABLE 에서 인덱스를 작성한 경우, 빠른 인덱싱이 사용되는 것이 아니라 테이블이 복사됩니다. 이것은 MySQL Bug # 39833로보고되고 있습니다.

  • InnoDB는 외래 키에 필요한 인덱스를 사용자가 삭제하려고 할 때 오류 사례를 처리합니다. 오류 1553 에 관련한 자세한 내용은 섹션 14.19.5 "InnoDB 오류 코드" 를 참조하십시오.

  • ALTER TABLE 어구 LOCK=NONE 테이블에 ON...CASCADE 또는 ON...SET NULL 제약이 존재하는 경우는 허용되지 않습니다.

  • 온라인 DDL 각 ALTER TABLE 문 중에 LOCK 절에 관계없이 테이블에 대한 배타적 잠금 ( LOCK=EXCLUSIVE 절에 지정된 것과 같은 종류의 잠금)을 필요로하는 짧은 기간이 시작과 끝에 존재 합니다. 따라서 그 테이블에서 삽입, 업데이트, 삭제 또는 SELECT ... FOR UPDATE 를 실행하는 장기 실행 트랜잭션이 있으면 온라인 DDL 작업을 시작하기 전에 대기 할 수 있습니다. 또한 ALTER TABLE 의 진행중에 같은 장기 실행 트랜잭션이 시작된 경우 온라인 DDL 작업이 완료되기 전에 대기 할 수 있습니다.

  • 온라인 ALTER TABLE 작업을 수행 할 때 ALTER TABLE 작업을 실행하는 스레드는 같은 테이블에 다른 연결 스레드에서 동시에 실행 된 DML 작업의 "온라인 로그"를 적용합니다. 이러한 DML 작업이 적용되면 중복 키 항목의 오류 (ERROR 1062 (23000) : 중복 된 항목)가 발생할 수 있습니다. 이것은 중복 된 항목이 임시뿐 "온라인 로그」의 나머지 분들의 항목에 의해 복구된다하더라도 동일합니다. 이것은 트랜잭션 동안 제약을 유지해야하는, InnoDB 에 외부 키 제약 조건 검사의 생각을 닮아 있습니다.

  • InnoDB 테이블에 대한 OPTIMIZE TABLE 은 테이블을 재구성하여 인덱스 통계를 업데이트하고 클러스터 된 인덱스에서 사용되지 않는 공간을 확보하기위한 ALTER TABLE 조작에 맵됩니다. 5.6.17 이전에는이 ​​작업에 대한 온라인 DDL 지원하지 않습니다. 기본 키에 나타나는 순서로 키가 삽입되기 때문에 보조 인덱스는 그만큼 효율적으로 생성되지 않습니다. 5.6.17 시점에서는 InnoDB 의 일반 테이블과 파티션 된 테이블을 재구성하기위한 온라인 DDL 지원을 추가하여 OPTIMIZE TABLE 이 지원됩니다. 자세한 내용은 섹션 14.11.1 "온라인 DDL 개요" 를 참조하십시오.

  • MySQL 5.6 이전에 생성 된 InnoDB 테이블은 임시 컬럼 ( DATE , DATETIME 또는 TIMESTAMP )을 포함하고, ALTER TABLE ... ALGORITHM=COPY 를 사용하여 재 구축되지 않은 테이블에 대한 ALTER TABLE ... ALGORITHM=INPLACE 를 지원하지 않습니다. 이 경우 ALTER TABLE ... ALGORITHM=INPLACE 조작에 의해 다음과 같은 오류가 반환됩니다.

     ERROR 1846 (0A000) : ALGORITHM = INPLACE is not supported. 
     Reason : Can not change column type INPLACE. Try ALGORITHM = COPY.
    


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