MySQL 分区

#1. 什么是MySQL数据分区?
MySQL数据分区是将一张表的数据分散存储在不同的物理位置上,以实现更高效的数据管理和查询。根据分区的规则,MySQL会将表数据划分为多个分区,每个分区都可以独立地进行查询和维护。

#2. MySQL数据分区的优势
##2.1 提高查询效率
通过将数据分散存储在多个物理位置上,可以使查询只针对需要的数据进行,从而提高查询效率。

##2.2 减少维护成本
MySQL数据分区可以使数据更加有序和规范,减少数据冗余和重复,从而降低维护成本。

#3.创建分区
例如:创建表mytable,子段id,name,date,分区名称p0,p1,p2,使用date字段进行分区,p0分区存储2000以前的数据,p1分区存储2000年到2009年的数据,p2分区存储2010年及以后的数据。MAXVALUE表示所有大于2010年的数据。
**注意:**如果没有“PARTITION p2 VALUES LESS THAN MAXVALUE”最后一条语句,则数据库将不能存储2010年及以后的数据(即2010年以后的数据无法插入数据库)

CREATE TABLE mytable (
id INT,
name VARCHAR(50),
date DATE
)
PARTITION BY RANGE (YEAR(date)) (
PARTITION p0 VALUES LESS THAN (2000),
PARTITION p1 VALUES LESS THAN (2010),
PARTITION p2 VALUES LESS THAN MAXVALUE
);

在这里插入图片描述分区效果图

#4.特性
##4.1所有分区都是依次递增。
p0:p0<2000
p1:2000<=p1<2010
p2:2010<p2
意思就是说,每个分区代表一个区间,p2>p1>p0,而且如上图所示每个分区对应一个位置的序号,序号越大,说明这个区间的数据越大(单指数据大小,这个数据就是分区的字段,此处是用date分区,就是使用date 比较,使用哪个字段分区就是比较哪个字段)
在这里插入图片描述
##4.2分区只能增加和删除,不能修改。
例如:你想修改p2的分区,只能删除p2和p3的分区,再增加p2和p3的分区,才能达到修改分区的目的。也不能从p0和p1之间插入分区,因为每次增加分区是往后增加的(即依次递增)。
p0:p0<2000
p1:2000<=p1<2010
p2:2010<p2
比如你想增加一个2000<p4<2005,当你增加这个分区的时候,系统会默认p4的位置在第4位置,第4的位置应该要>p2才可以但是2000小于p2,违反分区特性,无法插入。
增加分区语句:

ALTER TABLE mytable ADD PARTITION (
PARTITION p3 VALUES LESS THAN (2030)
);

删除分区语句:

ALTER TABLE mytable DROP PARTITION p3;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值