• 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 문법
  • 1. 데이터 정의 문
    1. ALTER DATABASE 구문
    2. ALTER EVENT 구문
    3. ALTER LOGFILE GROUP 구문
    4. ALTER FUNCTION 구문
    5. ALTER PROCEDURE 구문
    6. ALTER SERVER 구문
    7. ALTER TABLE 구문
    1. ALTER TABLE 파티션 작업
    2. MySQL Cluster에서 ALTER TABLE 온라인 조작
    3. ALTER TABLE의 예
    8. ALTER TABLESPACE 구문
    9. ALTER VIEW 구문
    10. REATE DATABASE 구문
    11. CREATE EVENT 구문
    12. CREATE FUNCTION 구문
    13. CREATE INDEX 구문
    14. CREATE LOGFILE GROUP 구문
    15. CREATE PROCEDURE 및 CREATE FUNCTION 구문
    16. CREATE SERVER 구문
    17. CREATE TABLE 구문
    18. CREATE TABLESPACE 구문
    19. CREATE TRIGGER 구문
    20. CREATE VIEW 구문
    21. DROP DATABASE 구문
    22. DROP EVENT 구문
    23. DROP FUNCTION 구문
    24. DROP INDEX 구문
    25. DROP LOGFILE GROUP 구문
    26. DROP PROCEDURE 및 DROP FUNCTION 구문
    27. DROP SERVER 구문
    28. DROP TABLE 구문
    29. DROP TABLESPACE 구문
    30. DROP TRIGGER 구문
    31. DROP VIEW 구문
    32. RENAME TABLE 구문
    33. TRUNCATE TABLE 구문
    2. 데이터 조작 문
    3. MySQL 트랜잭션과 잠금 문
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    7. 데이터베이스 관리 문
    8. MySQL 유틸리티 문
  • 14. 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 새로운 기능

13.1.7.1 ALTER TABLE 파티션 작업

ALTER TABLE 의 분할 관련 조항은 다시 분할 파티션의 추가, 삭제, 병합 및 분할, 분할의 유지 관리 수행 등을 위해 파티션 된 테이블에서 사용할 수 있습니다.

  • 단순히 파티션 된 테이블에 ALTER TABLE 에서 partition_options 절을 사용하는 것만으로 partition_options 에 정의 된 파티셔닝 방법에 따라 그 테이블을 다시 분할됩니다. 이 절은 항상 PARTITION BY 로 시작하고 CREATE TABLE 의 partition_options 절에 적용되는 것과 동일한 구문 및 기타 규칙을 따릅니다 (자세한 내용은 섹션 13.1.17 "CREATE TABLE 구문" 을 참조하십시오). 또한 아직 분할되지 않은 기존 테이블의 분할에도 사용할 수 있습니다. 예를 들어, 다음과 같이 정의 된 (분할되지 않은) 테이블을 생각해 보겠습니다.

     CREATE TABLE t1 (
         id INT,
         year_col INT
     );
    

    이 테이블은 다음 문을 사용하여 id 컬럼을 파티셔닝 키를 사용하여 HASH 의해 8 개의 파티션으로 분할 할 수 있습니다.

     ALTER TABLE t1
         PARTITION BY HASH (id)
         PARTITIONS 8;
    

    MySQL 5.6.11 이후에서는 [SUB]PARTITION BY [LINEAR] KEY 로 ALGORITHM 옵션이 지원됩니다. ALGORITHM=1 을 지정하면 서버는 파티션 내의 행의 위치를 계산할 때 MySQL 5.1과 같은 키 해시 함수를 사용합니다. ALGORITHM=2 는 서버가 MySQL 5.5 이상에서 구현되고 KEY 에 의해 분할 된 새 테이블에서 기본적으로 사용되는 키 해시 함수를 사용하는 것을 나타냅니다. (MySQL 5.5 이상에서 채택 된 키 해시 함수에 의해 생성 된 파티션 된 테이블을 MySQL 5.1 서버에서 사용할 수 없습니다.)이 옵션을 지정하지 않는 경우는 ALGORITHM=2 를 사용하는 것과 같은 효과 수 있습니다. 이 옵션은 주로 [LINEAR] KEY 로 파티션 된 테이블을 MySQL 5.1 이후의 MySQL 버전간에 업그레이드하거나 다운 그레이드 할 때 사용하거나 MySQL 5.5 이후의 서버에서 MySQL 5.1 서버에서 사용할 수있는 KEY 또는 LINEAR KEY 로 파티션 된 테이블을 만드는 것을 목적으로하고 있습니다.

    MySQL 5.1에서 생성 된 KEY 로 파티션 된 테이블을 업그레이드하려면 먼저 SHOW CREATE TABLE 을 실행하고 표시되는 정확한 컬럼 및 파티션 수를 기록합니다. 다음은 CREATE TABLE 문과 동일한 컬럼 목록 및 파티션 수를 사용하여 ALTER TABLE 문을 실행하지만 그 때 PARTITION BY 키워드 직후 ALGORITHM=2 를 추가합니다. (원래 테이블 정의에 LINEAR 키워드가 사용 된 경우 해당 키워드 포함되어야합니다.) mysql 클라이언트 세션의 예를 보여줍니다.

     mysql> SHOW CREATE TABLE p\G
     *************************** 1. row ******************** *******
            Table : p
     Create Table : CREATE TABLE`p` (
       `id` int (11) NOT NULL AUTO_INCREMENT,
       `cd` datetime NOT NULL,
       PRIMARY KEY (`id`)
     ) ENGINE = InnoDB DEFAULT CHARSET = latin1
     / *! 50100 PARTITION BY LINEAR KEY (id) 
      PARTITIONS 32 * /
     1 row in set (0.00 sec)
    
     mysql> ALTER TABLE p PARTITION BY LINEAR KEY ALGORITHM = 2 (id) PARTITIONS 32 ;
     Query OK, 0 rows affected (5.34 sec)
     Records : 0 Duplicates : 0 Warnings : 0
    
     mysql> SHOW CREATE TABLE p\G
     *************************** 1. row ******************** *******
            Table : p
     Create Table : CREATE TABLE`p` (
       `id` int (11) NOT NULL AUTO_INCREMENT,
       `cd` datetime NOT NULL,
       PRIMARY KEY (`id`)
     ) ENGINE = InnoDB DEFAULT CHARSET = latin1
     / *! 50100 PARTITION BY LINEAR KEY (id)
     PARTITIONS 32 * /
     1 row in set (0.00 sec)
    

    MySQL 5.5 이상에서 사용되는 기본 키 해시를 사용하여 생성 된 테이블을 MySQL 5.1 서버에서 사용할 수 있도록 다운 그레이드하는 경우에도 마찬가지입니다. 그러나이 경우 해당 테이블의 파티션이 강제로 MySQL 5.1의 키 해시 함수를 사용하여 재 구축되도록 ALGORITHM=1 을 사용하도록하십시오. MySQL 5.5 이상에서 기본적으로 사용되는 개선 된 KEY 해시 함수는 이전 구현에서 발견 된 많은 문제에 대한 수정 프로그램이 제공되기 때문에 MySQL 5.1 서버와의 호환성을 위해 필요한 경우를 제외하고 이에 은하지 않도록하는 것이 좋습니다.

    참고

    ALTER TABLE ... PARTITION BY ALGORITHM=2 [LINEAR] KEY ... 를 사용하여 업그레이드 된 테이블은 MySQL 5.1 서버에서는 사용할 수 없습니다. (이러한 테이블을 MySQL 5.1 서버에서 다시 사용할 수 있도록하려면 ALTER TABLE ... PARTITION BY ALGORITHM=1 [LINEAR] KEY ... 를 사용하여 다운 그레이드해야합니다.)

    ALTER TABLE ... PARTITION BY 문을 사용하여 작성된 테이블은 CREATE TABLE ... PARTITION BY 를 사용하여 작성된 테이블과 같은 규칙을 따라야합니다. 여기에는 테이블에 포함되어있을 가능성이있는 모든 고유 키 (모든 기본 키를 포함)와 분할 식으로 사용되는 하나 이상의 열 사이의 관계를 관리 규칙이 포함됩니다. 이 내용은 섹션 19.6.1 "파티셔닝 키, 기본 키 및 고유 키" 로 설명되어 있습니다. 또한 파티션의 수를 지정하기위한 CREATE TABLE ... PARTITION BY 규칙도 ALTER TABLE ... PARTITION BY 에 적용됩니다.

    ALTER TABLE ADD PARTITION 의 partition_definition 절은 CREATE TABLE 문에 같은 이름의 어구와 같은 옵션을 지원합니다. (구문과 설명은 섹션 13.1.17 "CREATE TABLE 구문" 을 참조하십시오.) 다음과 같이 생성 된 파티션 된 테이블이 있다고합니다.

     CREATE TABLE t1 (
         id INT,
         year_col INT
     )
     PARTITION BY RANGE (year_col) (
         PARTITION p0 VALUES LESS THAN (1991)
         PARTITION p1 VALUES LESS THAN (1995)
         PARTITION p2 VALUES LESS THAN (1999)
     );
    

    이 테이블에 2002 보다 작은 값을 저장하기위한 새로운 파티션 p3 를 다음과 같이 추가 할 수 있습니다.

     ALTER TABLE t1 ADD PARTITION (PARTITION p3 VALUES LESS THAN (2002));
    

    DROP PARTITION 을 사용하면 하나 이상의 RANGE 또는 LIST 파티션을 삭제할 수 있습니다. 이 문을 HASH 또는 KEY 파티션에 사용할 수 없습니다. 대신에 COALESCE PARTITION 을 사용합니다 (아래를 참조하십시오). partition_names 목록에 이름이 지정되어 삭제 된 파티션에 저장되어 있던 데이터는 모두 삭제됩니다. 예를 들어, 이전에 정의 된 테이블 t1 의 경우, p0 및 p1 이라는 이름의 파티션을 다음과 같이 삭제할 수 있습니다.

     ALTER TABLE t1 DROP PARTITION p0, p1;
    
    참고

    DROP PARTITION 는 NDB 스토리지 엔진을 사용하는 테이블에서는 작동하지 않습니다. 섹션 19.3.1 "RANGE 및 LIST 파티션 관리" 및 섹션 18.1.6 "MySQL Cluster의 알려진 제한 사항" 을 참조하십시오.

    ADD PARTITION 와 DROP PARTITION 은 현재 IF [NOT] EXISTS 를 지원하지 않습니다.

    파티션 된 테이블의 이름 변경을 지원하고 있습니다. ALTER TABLE ... REORGANIZE PARTITION 을 사용하여 간접적으로 개별 파티션의 이름을 변경할 수 있습니다. 그러나이 작업은 파티션의 데이터 복사본이 생성됩니다.

    MySQL 5.6에서는 TRUNCATE PARTITION 옵션을 사용하여 선택한 파티션의 행을 삭제할 수 있습니다. 이 옵션은 하나 이상의 파티션 이름의 쉼표로 구분 된 목록을받습니다. 예를 들어, 다음과 같이 정의 된 테이블 t1 을 생각해 보겠습니다.

     CREATE TABLE t1 (
         id INT,
         year_col INT
     )
     PARTITION BY RANGE (year_col) (
         PARTITION p0 VALUES LESS THAN (1991)
         PARTITION p1 VALUES LESS THAN (1995)
         PARTITION p2 VALUES LESS THAN (1999)
         PARTITION p3 VALUES LESS THAN (2003)
         PARTITION p4 VALUES LESS THAN (2007)
     );
    

    파티션 p0 의 모든 행을 삭제하려면 다음 문을 사용할 수 있습니다.

     ALTER TABLE t1 TRUNCATE PARTITION p0;
    

    지금 나타낸 문은 다음 DELETE 문과 같은 효과가 있습니다.

     DELETE FROM t1 WHERE year_col <1991;
    

    여러 파티션을 절약 경우 파티션이 연속하고있을 필요는 없습니다. 이는 일반적으로 DELETE 문에서 실행 된 경우는 매우 복잡한 WHERE 조건이 필요할 파티션 된 테이블에서 삭제 작업이 간소화 될 수 있습니다. 예를 들어, 다음 명령문은 파티션 p1 과 p3 의 모든 행을 삭제합니다.

     ALTER TABLE t1 TRUNCATE PARTITION p1, p3;
    

    동등한 DELETE 문을 보여줍니다.

     DELETE FROM t1 WHERE 
         (year_col> = 1991 AND year_col <1995)
         OR
         (year_col> = 2003 AND year_col <2007);
    

    파티션 이름 목록 대신 ALL 키워드를 사용할 수 있습니다. 이 경우,이 문은 테이블의 모든 파티션에 대해 작동합니다.

    TRUNCATE PARTITION 행을 삭제하면됩니다. 테이블 자체 나 어떤 파티션의 정의도 변경되지 않습니다.

    참고

    TRUNCATE PARTITION 하위 파티션에서는 작동하지 않습니다.

    다음과 같은 쿼리를 사용하여 INFORMATION_SCHEMA.PARTITIONS 테이블을 확인하여 행이 삭제 된 것을 확인할 수 있습니다.

     SELECT PARTITION_NAME, TABLE_ROWS 
         FROM INFORMATION_SCHEMA.PARTITIONS 
         WHERE TABLE_NAME = 't1';
    

    TRUNCATE PARTITION 은 MyISAM , InnoDB 또는 MEMORY 스토리지 엔진을 사용하는 파티션 된 테이블에서만 지원됩니다. 또한 BLACKHOLE 테이블에서도합니다 (그러나 아무런 효과도 없습니다). ARCHIVE 테이블에서는 지원되지 않습니다.

    HASH 또는 KEY 로 파티션 된 테이블에서 COALESCE PARTITION 을 사용하면 파티션의 수를 number 만 줄일 수 있습니다. 다음의 정의를 사용하여 테이블 t2 을 만들었다 고합니다.

     CREATE TABLE t2 (
         name VARCHAR (30)
         started DATE
     )
     PARTITION BY HASH (YEAR (started))
     PARTITIONS 6;
    

    t2 에서 사용되는 파티션의 수를 다음 문을 사용하여 6-4로 줄일 수 있습니다.

     ALTER TABLE t2 COALESCE PARTITION 2;
    

    마지막 number 개의 파티션에 들어있는 데이터는 나머지 파티션 병합됩니다. 이 경우 파티션 4와 5가 첫 4 개의 파티션 (0,1,2 및 3의 번호를 가진 각 파티션)에 병합됩니다.

    파티션 된 테이블에서 사용되는 (전부는 아니지만) 일부 파티션을 변경하려면 REORGANIZE PARTITION 을 사용할 수 있습니다. 이 문은 다음의 몇 가지 방법으로 사용할 수 있습니다.

    • 일련의 파티션을 단일 파티션으로 병합합니다. 이것은 partition_names 목록에 여러 파티션의 이름을 지정하고 partition_definition 에 하나의 정의를 지정하여 실행할 수 있습니다.

    • 기존의 파티션을 여러 파티션으로 분할합니다. 이것은 partition_names 단일 파티션을 지정하고 여러 partition_definitions 을 지정하여 실행할 수 있습니다.

    • VALUES LESS THAN 를 사용하여 정의 된 파티션의 부분 집합의 범위를 변경하거나 VALUES IN 을 사용하여 정의 된 파티션의 부분 집합의 값 목록을 변경합니다.

    • 이 문은 또한 HASH 파티셔닝을 사용하여 자동으로 분할 된 테이블에 partition_names INTO ( partition_definitions ) 옵션없이 사용하면 데이터를 강제로 재배포 할 수 있습니다. (현재 이렇게 자동으로 분할되는 것은 NDB 테이블뿐입니다.) 이것은 기존의 MySQL Cluster 새로운 MySQL Cluster 데이터 노드를 온라인으로 추가 한 후 기존의 MySQL Cluster 테이블 데이터를 새로운 데이터 노드에 다시 배포해야 MySQL Cluster에 도움이됩니다. 이러한 경우 ONLINE 옵션을 사용하여이 문을 호출하도록하십시오. 즉, 다음과 같이합니다.

       ALTER ONLINE TABLE table REORGANIZE PARTITION;
      

      온라인 테이블 재구성과 동시에 다른 DDL을 수행 할 수 없습니다. 즉, ALTER ONLINE TABLE ... REORGANIZE PARTITION 문이 실행되는 동안 다른 DDL 문을 발행 할 수 없습니다. MySQL Cluster 데이터 노드를 온라인으로 추가하는 방법에 대한 자세한 내용은 섹션 18.5.13 "MySQL Cluster 데이터 노드의 온라인 추가" 를 참조하십시오.

      ALTER ONLINE TABLE ... REORGANIZE PARTITION 은 MAX_ROWS 옵션을 사용하여 작성된 테이블에서는 작동하지 않습니다. 이 문은 원래 CREATE TABLE 문에서 지정된 일정의 MAX_ROWS 값을 사용하여 필요한 파티션의 수를 결정하기 위해 새로운 파티션을 생성하지 않기 때문입니다. 테이블 행의 최대 수를 늘리려면 ALTER ONLINE TABLE ... MAX_ROWS= rows 를 사용할 수 있습니다. 이 후 ALTER ONLINE TABLE ... REORGANIZE PARTITION 이 커진 새로운 값을 사용하여 파티션의 수를 늘릴 수 있습니다. 이 기능하려면 rows 값을 원래 CREATE TABLE 문에서 MAX_ROWS 에 지정된 값보다 커야합니다.

      명시 적으로 분할 된 테이블에 대해 REORGANIZE PARTITION 을 partition_names INTO ( partition_definitions ) 옵션없이 사용하려고하면 REORGANIZE PARTITION without parameters can only be used on auto-partitioned tables using HASH partitioning 오류가 발생합니다.

    참고

    명시 적으로 이름이 ​​지정되지 않은 파티션에 대해 MySQL은 자동으로 p0 , p1 , p2 등의 기본 이름을 지정합니다. 같은 일이 서브 파티션에 적용됩니다.

    ALTER TABLE ... REORGANIZE PARTITION 문의 자세한 내용 및 예제는 섹션 19.3.1 "RANGE 및 LIST 파티션 관리" 를 참조하십시오.

  • MySQL 5.6에서는 ALTER TABLE ... EXCHANGE PARTITION 문을 사용하여 테이블 파티션 또는 서브 파티션을 다른 테이블과 교환 할 수 있습니다. 즉, 파티션 또는 서브 파티션의 기존의 모든 행을 분할되지 않은 테이블로 이동하거나 분할되지 않은 테이블에서 기존의 모든 행을 테이블 파티션 또는 서브 파티션으로 이동 할 수 있습니다 .

    사용 방법 및 예제는 섹션 19.3.3 "파티션과 서브 파티션 테이블로 교체" 를 참조하십시오.

  • 몇 가지 추가 옵션에 따라 분할되지 않은 테이블에 대한 CHECK TABLE 과 REPAIR TABLE 과 같은 명령문에 의해 구현되는 기능 (이 작업은 파티션 된 테이블에서 지원됩니다. 자세한 내용은 섹션 13.7. 2 "테이블 유지 보수 문" 을 참조하십시오)과 유사한 파티션의 유지 보수 및 수리 기능이 제공됩니다. 여기에는 ANALYZE PARTITION , CHECK PARTITION , OPTIMIZE PARTITION , REBUILD PARTITION 및 REPAIR PARTITION 이 포함됩니다. 이러한 각 옵션은 하나 이상의 파티션 이름 갖춰진 쉼표로 구분 된 partition_names 절을받습니다. 이 파티션은 변경 될 테이블에 이미 존재해야합니다. partition_names 대신 ALL 키워드를 사용할 수 있습니다. 그 경우,이 문은 테이블의 모든 파티션에서 작동합니다. 자세한 내용 및 예제는 섹션 19.3.4 "파티션 관리" 를 참조하십시오.

    InnoDB 등의 일부 MySQL 스토리지 엔진은 각 파티션의 최적화를 지원하지 않습니다. 이러한 스토리지 엔진을 사용하여 파티션 된 테이블에 대해 ALTER TABLE ... OPTIMIZE PARTITION 은 전체 테이블을 재구성합니다. 이것은 알려진 문제입니다. MySQL 5.6.9에서이 같은 테이블에이 문을 실행하면 테이블 전체가 재 구축 및 분석하고 해당 경고가 발행됩니다. (Bug # 11751825, Bug # 42822)

    이 문제를 해결하려면 대신 문 ALTER TABLE ... REBUILD PARTITION 및 ALTER TABLE ... ANALYZE PARTITION 을 사용합니다.

    ANALYZE PARTITION , CHECK PARTITION , OPTIMIZE PARTITION 및 REPAIR PARTITION 옵션은 분할되지 않은 테이블에는 허용되지 않습니다.

  • REMOVE PARTITIONING 을 사용하면 테이블의 분할을 삭제할 수 있으며, 그 테이블이나 데이터는 그렇지 영향을받지 않습니다. 이 옵션은 컬럼이나 인덱스의 추가, 삭제, 이름 변경 등을 위해 사용되는 기타 ALTER TABLE 옵션과 함께 사용할 수 있습니다.

  • ALTER TABLE 에서 ENGINE 옵션을 사용하면 파티션에 영향을주지 않고 테이블에 사용되는 스토리지 엔진이 변경됩니다.

MySQL 5.6.6 이전에는 MyISAM (또는 테이블 수준의 잠금을 사용하는 다른 스토리지 엔진)을 사용하는 파티션 된 테이블에 ALTER TABLE ... EXCHANGE PARTITION 또는 ALTER TABLE ... TRUNCATE PARTITION 이 실행되면 그 분할 된 테이블 전체가 락되었습니다. MySQL 5.6.6 이후에서는 이러한 경우 실제로 읽은 파티션 만 고정됩니다. 이것은 행 레벨 락을 채용하고있다 ( InnoDB 등) 스토리지 엔진을 사용하는 파티션 된 테이블에 영향을주지 않았다 (현재도 영향을주지 않습니다). 섹션 19.6.4 "파티셔닝 및 잠금" 을 참조하십시오.

ALTER TABLE 문에는 다른 변경 지정 이외에 PARTITION BY 또는 REMOVE PARTITIONING 절을 포함 할 수 있지만 PARTITION BY 또는 REMOVE PARTITIONING 절은 다른 어떤 지정보다 앞으로의 마지막에 지정해야 있습니다.

ADD PARTITION , DROP PARTITION , COALESCE PARTITION , REORGANIZE PARTITION , ANALYZE PARTITION , CHECK PARTITION 및 REPAIR PARTITION 옵션은 개별 파티션에 대해 작동하므로 하나의 ALTER TABLE 내에서 다른 변경 지정과 함께 사용할 수 없습니다. 자세한 내용은 섹션 13.1.7.1 "ALTER TABLE 파티션 작업" 을 참조하십시오.

특정 ALTER TABLE 문은 다음 중 하나의 옵션의 단일 인스턴스 만 사용할 수 있습니다. PARTITION BY , ADD PARTITION , DROP PARTITION , TRUNCATE PARTITION , EXCHANGE PARTITION , REORGANIZE PARTITION 또는 COALESCE PARTITION , ANALYZE PARTITION , CHECK PARTITION , OPTIMIZE PARTITION , REBUILD PARTITION , REMOVE PARTITIONING .

예를 들어, 다음 두 명령문은 유효하지 않습니다.

 ALTER TABLE t1 ANALYZE PARTITION p1, ANALYZE PARTITION p2;

 ALTER TABLE t1 ANALYZE PARTITION p1, CHECK PARTITION p2;

첫 번째 경우는 다음과 같이 분석되는 두 파티션을 나열하는 하나의 ANALYZE PARTITION 옵션을 포함하는 하나의 문을 사용하여 테이블 t1 파티션 p1 과 p2 를 동시에 분석 할 수 있습니다.

 ALTER TABLE t1 ANALYZE PARTITION p1, p2;

두 번째 경우는 같은 테이블의 다른 파티션에 대한 ANALYZE 작업 및 CHECK 작업을 동시에 수행 할 수 없습니다. 대신 다음과 같이 두 개의 개별 문을 실행해야합니다.

 ALTER TABLE t1 ANALYZE PARTITION p1;
 ALTER TABLE t1 CHECK PARTITION p2;

ANALYZE , CHECK , OPTIMIZE , REBUILD , REPAIR 및 TRUNCATE 조작은 서브 파티션은 지원되지 않습니다.


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