この記事では、主に 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)
#错误提示删除存储最大值分区 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 パーティション管理-range パーティション_MySQL
以上がMySQL 5.5 レンジパーティションの追加削除処理例の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。