mysql的range分区

本文详细介绍在MySQL中进行数据分区管理的六种操作方法,包括新建、重置、清空、删除分区,以及查看和取消分区。针对不同场景,如数据量大、系统资源有限等,提供了具体的SQL语句及耗时参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试前提

1.数据量:2000万
2数据大小:1.1G
3.字段数量:3
4.字段长度:10
5.字段主键:id
6.系统配置:虚拟机centos6.8,虚拟内存 1G,CPU 1核

1.新建分区
mysql > alter table table_name partition by range(id)(
    partition part_name_1 values less than (5000001),
    partition part_name_2 values less than maxvalue
);

耗时:6分16.88秒 2000万数据

2.重置分区

例如合并两个不常用的旧分区,或者把一个很大的分区再拆分成两个分区

mysql > alter table_name reorganize partition part_name into (
    partition part_name_1 values less than (10000001),
    partition part_name_2 values less than (15000001),
    partition part_name_3 values less than maxvalue
);

耗时:3分37.55秒 1500万数据

3.清空分区数据
mysql > alter table table_name truncate partition part_name;

耗时:0.27秒
清空分区数据,保留分区

4.删除分区
mysql > alter table table_name drop partition part_name;

耗时:0.10秒
分区和数据一起被删除

5.查看分区
mysql > show create table table_name \G;

查看建表语句,同时可以查看分区清空

6.取消分区
mysql > alter table table_name remove partitioning;

耗时:3分45.07秒 1500万数据
取消分区之后回到未分区状态,但是数据不会丢失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值