종류 - mysql 테이블 분리



어떻게 MySQL에서 데이터를 삭제하지 않고 파티션을 삭제할 수 있습니까? (3)

나는 다음과 같은 테이블을 가지고있다.

create table registrations( 
id int not null auto_increment primary key,
name varchar(50),
mobile_number varchar(13)) 
engine=innodb 
partition by range(id) (
partition p0 values less than (10000),
partition p0 values less than (20000),
partition p0 values less than max value);

위와 정확히 같지 않지만 그와 비슷합니다 ....

이제 내 테이블에 200000 개의 행이 있다고 가정하고 테이블의 파티션을 제거하고 MAX VALUE가없는 요구 사항에 따라 파티션을 재구성하려고합니다.

어느 누구도 데이터를 삭제하거나 테이블을 삭제하고 다시 만들지 않고도 파티션을 다시 정렬 할 수 있습니까?


Answer #1

파티션 재 배열은 기존 파티션을 모두 삭제할 필요가 없습니다. ALTER TABLE 구.에서 새 파티션을 직접 지정할 수 있으며 데이터가 손실되지 않습니다.

ALTER TABLE registrations
PARTITION by RANGE(id) (
PARTITION p1 VALUES LESS THAN (10000),
PARTITION p2 VALUES LESS THAN (20000),
PARTITION p3 VALUES LESS THAN (30000),
PARTITION p4 VALUES LESS THAN (40000),
PARTITION p5 VALUES LESS THAN (MAXVALUE);

MySQL 5.7.11로 테스트 된 PS



Answer #3
ALTER TABLE tbl REMOVE PARTITIONING;




database-administration