-. like 구문으로 테이블 레이아웃 복사
mysql> create table layout_org
-> (num int auto_increment primary key,
-> num2 int,
-> num3 int)
-> partition by range(num)
-> (partition p1 values less than(10),
-> partition p2 values less than(20),
-> partition p3 values less than maxvalue);
Query OK, 0 rows affected (0.03 sec)
mysql> create index ix_layout_org on layout_org (num2);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
=> 파티션 구성 + primary key,auto_increment 및 index 까지 달려있는 원본 테이블
mysql> create table layout_test like layout_org; Query OK, 0 rows affected (0.03 sec)
=> CTAS 구문이 아닌 like 구문으로 테이블 레이아웃 복사
mysql> show create table layout_test\G;
*************************** 1. row ***************************
Table: layout_test
Create Table: CREATE TABLE "layout_test" (
"num" int(11) NOT NULL AUTO_INCREMENT,
"num2" int(11) DEFAULT NULL,
"num3" int(11) DEFAULT NULL,
PRIMARY KEY ("num"),
KEY "ix_layout_org" ("num2")
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
PARTITION BY RANGE (num)
(PARTITION p1 VALUES LESS THAN (10) ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN (20) ENGINE = InnoDB,
PARTITION p3 VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
1 row in set (0.00 sec)
ERROR:
No query specified
=> 파티션,인덱스,primary key 등까지 모두 생성됨
-. CTAS 구문으로 테이블 레이아웃 복사
mysql> create table layout_test2
-> as select *
-> from layout_org;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
=> CTAS 문으로 생성
mysql> show create table layout_test2\G;
*************************** 1. row ***************************
Table: layout_test2
Create Table: CREATE TABLE "layout_test2" (
"num" int(11) NOT NULL DEFAULT 0,
"num2" int(11) DEFAULT NULL,
"num3" int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
1 row in set (0.01 sec)
ERROR:
No query specified
mysql> show index from layout_test2;
Empty set (0.00 sec)
=> 파티션 및 인덱스 모두 생성안됨, 컬럼같은 테이블 구조만 생성됨
