MySQL分区概念,使用场景以及限制

分区的概念

分区表是一个独立的逻辑表,但是底层是由多个物理子表组成。
分区的主要目的是将数据按照一个较粗的粒度分布在不同的表中,能够快速过滤掉大量数据,提高查询效率。以及方便对数据进行分区管理等。

分区使用场景

适应网站访问量不大,数据量大,对响应时间有要求的场景可以考虑分区。
在这里插入图片描述

分区的限制

在这里插入图片描述

为什么要使用分区

比如表数据量远大于内存时,索引在空间和维护上的消耗很大,即使用到索引,数据可能也不是按照想要的方式聚集,而且会有大量的碎片产生,最终导致一个查询产生成千上万的随机IO,效率低下,使用分区我们就能快速过滤掉大量不需要的数据,从而提高效率。

分区的类型

RANGE分区

按照表达式值的范围进行分区

RANGE分区详细操作点击这里查看

LIST分区

按照表达式值的集合进行分区

LIST分区详细操作点击这里查看

HASH分区

HASH分区详细操作点击这里查看

常规HASH分区

通过对分区个数进行取模运算,根据得到的余数决定存放在哪一个分区,数据分布相对均匀,但是新增减少分区等操作时,所有数据都要重新计算进行重分布。

线性HASH分区

语法为

PARTITION BY LINEAR HASH( 表达式 ) PARTITIONS num;

线性哈希分区的优点在于增加、删除、合并和拆分分区将变得更加快捷,处理大数据的表比较方便。

KEY分区

KEY分区详细操作点击这里查看

复合分区

基于分区表中的每个分区再次分割。子分区可以是 HASH/KEY 等类型。

参考文章
mysql分区 详解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值