【MySQL】MySQL的分区管理实现——range分区

本文介绍了MySQL 5.1及以上版本的分区功能,重点讲解了range分区的原理与操作,包括如何查看分区支持、range分区的创建、插入数据、查询、分区的动态管理如添加、拆分、合并和删除分区。强调了在range分区中,数据分布遵循给定的连续范围,并且不能使用非主键/唯一键字段进行分区。

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

以下是我对MySQL分区不分的理解,仅供参考。
MySQL从5.1版本后支持分区的功能,分区是根据一定规则,将满足相同条件的数据存储在一起,以便更方便的对数据经行管理。
在建立分区前,我们首先查看使用的MySQL版本是否支持分区:

show variables like '%partition%';

若是看到partition的值为yes,则支持分区。

分区类型:

  • 1. range分区
  • 2. list分区
  • 3. hash分区
  • 4. key分区

所有分区类型,不能使用主键/唯一键之外的字段经行分区!!!

1、range分区:依据给定的连续范围,将数据按照规则存储到对应分区上。
代码实现:

  • range分区的创建
mysql> create table ranges(
    -> id int ,
    -> age int,
    -> time timestamp default current_timestamp on update current_timestamp,
    -> primary key (id)
    -> )
    -> partition by range(id)(
    -> partition p0 values less than (5),
    -> partition p1 values less than (10),
    -> partition p2 values less than (15)
    -> );
Query OK, 0 rows affected (0.07 sec)

插入数据:

mysql> insert into ranges (id ,age) values(1,20),(2,21),(3,22),(4,23),(5,24),(6,29),(7,32),(8,43),(9,23),(10,54),(11,23),(12,45),(13,90),(14,54);
Query OK, 14 rows affected (0.00 sec)
Records: 14  Duplicates: 0  Warnings: 0

查询range分区相关信息:

mysql> select partition_name name,
    -> partition_expression expresstion,
    -> partition_description description,
    -> table_rows
    -> from information_schema.partitions
    -> where table_schema=schema
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值