이 글에서는 주로 MySQL 5.5 범위의 파티션 추가 및 삭제 처리에 대한 관련 정보를 소개합니다. 이 글에서는 예제 코드를 통해 자세히 소개하고 있으며, 필요한 모든 사람이 참조할 수 있고 학습할 가치가 있습니다. 아래에.
소개
RANGE 파티셔닝은 주어진 연속 간격 범위를 기반으로 합니다. RANGE의 초기 버전은 주로 정수 파티셔닝을 기반으로 했습니다. 버전 5.7에서는 DATE 및 DATETIME 열도 RANGE 파티셔닝을 사용할 수 있지만 버전 5.5 이상에서는 비형성 기반 RANGE COLUMN 파티셔닝을 제공합니다. RANGE 파티션은 연속적이어야 하며 겹칠 수 없습니다.
"VALUES LESS THAN ()"을 사용하여 파티션 간격을 정의합니다. 정수가 아닌 범위 값은 작은따옴표를 사용해야 하며, MAXVALUE는 파티션의 가장 높은 값으로 사용할 수 있습니다.
이 기사에서는 MySQL 5.5의 범위 파티션 추가 및 삭제에 대한 내용을 소개하고 참고 및 학습을 위해 공유합니다. 자세한 소개를 살펴보겠습니다.
1 파티션 삭제.
##查看要处理的分区的数据量,并导出作为备份 mysql> select count(*) from baby_account_change_log where updated_time >'2016-12-01 00:00:00' and updated_time <'2017-01-01 00:00:00'; +----------+ | count(*) | +----------+ | 66252 | +----------+ 1 row in set (0.23 sec) ##导出备份 mysql> select * into outfile '/tmp/baby_account_change_log_p1.sql' from baby_account_change_log where updated_time >'2016-12-01 00:00:00' and updated_time <'2017-01-01 00:00:00' limit 100000000000; Query OK, 66252 rows affected (2.71 sec) ##确认要处理分区 mysql> explain partitions select count(*) from baby_account_change_log where updated_time >'2016-12-01 00:00:00' and updated_time <'2017-01-01 00:00:00'; +----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+ | 1 | SIMPLE | baby_account_change_log | p1 | index | NULL | PRIMARY | 8 | NULL | 66252 | Using where; Using index | +----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+ ##删除分区 mysql> alter table baby_account_change_log drop partition p0; Query OK, 0 rows affected (0.01 sec)2. 파티션 추가
#错误提示删除存储最大值分区 mysql> alter table baby_account_change_log add partition(PARTITION p13 VALUES LESS THAN (unix_timestamp('2017-12-31 23:59:59'))); ERROR 1481 (HY000): MAXVALUE can only be used in last partition definition #删除存储最大值分区 mysql> alter table baby_account_change_log drop partition p12; ##增加新的分区 mysql> alter table baby_account_change_log add partition(PARTITION p12 VALUES LESS THAN (unix_timestamp('2017-12-31 23:59:59')));관련 권장 사항:
위 내용은 MySQL 5.5 범위 파티션 삭제 처리 예시 추가에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!