• 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.4 DDL 문의 결합 또는 분리

온라인 DDL 이 도입되기 전에는 많은 DDL 작업을 하나의 ALTER TABLE 문에 결합 할 일반적인 관습이었다. 각 ALTER TABLE 문은 테이블의 복사 및 재 구축이 포함되어 있었기 때문에, 테이블에 대한 모든 변경을 1 회 다시 작성 작업에서 실행이 가능했기 때문에 같은 테이블에 몇 가지 변화를 한 번에 할 분 이 효율적이었습니다. 단점으로는 DDL 작업과 관련된 SQL 코드를 유지 보수하기 어렵고, 다른 스크립트의 재사용도 어려운 점이있었습니다. 특정 변경이 매번 달랐다하면 조금 다른 시나리오마다 새로운 복잡한 ALTER TABLE 의 구축이 필요할 수 있습니다.

내부에서 수행 할 수있는 DDL 작업의 경우는 표 14.5 "DDL 작업의 온라인 상태의 요약" 에서와 같이 효율성을 희생하지 않고 스크립트 작성 및 유지 보수를 용이하게하기 위해 DDL 작업을 개별 ALTER TABLE 문으로 분리 할 수있게되었습니다. 예를 들어, 다음과 같은 복잡한 문장을 거론하며

 alter table t1 add index i1 (c1), add unique index i2 (c2), change c4_old_name c4_new_name integer unsigned;

그것을 독립적으로 테스트하고 실행할 수있는 다음과 같은보다 쉬운 부분에 분해 할 수 있습니다.

 alter table t1 add index i1 (c1);
 alter table t1 add unique index i2 (c2);
 alter table t1 change c4_old_name c4_new_name integer unsigned not null;

여러 부분으로 구성된 ALTER TABLE 문은 다음과 같은 목적으로 계속 사용할 수 있습니다.

  • 특정 순서로 실행해야하는 작업입니다. 예를 들어, 인덱스를 만드는 데 계속 그 인덱스를 사용하는 외래 키 제약 조건을 만드는 경우.

  • 그룹으로서 성공하거나 실패하게하고 싶은 모든이 같은 특정 LOCK 절을 사용하는 작업입니다.

  • 내부에서 수행 할 수없는, 즉 계속 테이블을 복사하여 재구성하는 작업.

  • 특수 시나리오의 정확한 하위 호환성을 위해 필요한 경우에 강제로 테이블 복사 작업을 수행하기 위해 ALGORITHM=COPY 또는 old_alter_table=1 을 지정하는 작업.


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