>데이터 베이스 >MySQL 튜토리얼 >MySQL 5.5 범위 파티션 삭제 처리 예시 추가에 대한 자세한 설명

MySQL 5.5 범위 파티션 삭제 처리 예시 추가에 대한 자세한 설명

小云云
小云云원래의
2018-01-17 09:54:321574검색

이 글에서는 주로 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 <&#39;2017-01-01 00:00:00&#39;;
+----------+
| 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 <&#39;2017-01-01 00:00:00&#39; 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 <&#39;2017-01-01 00:00:00&#39;;

+----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+
| 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 파티션의 범위 파티션에 대한 자세한 소개

mysql 파티션 관리-범위 파티션_MySQL

MySQLrange 파티션(2)_MySQL

위 내용은 MySQL 5.5 범위 파티션 삭제 처리 예시 추가에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.