msql数据库分区

一:为什么要进行分区(partition)

需求:大数据。解决办法:分而治之。将大表和大数据分为更小的操作单元。在Mysql中允许将表、索引和索引编排分为索引编排表细分为更小的单元。分区后,每个分区有自己单独的名称。对于DBA来讲,这些分区可以统一管理,也可以分开管理。但是对于应用程序来讲,分区的表和没有分区的表示是一样的。换句话说分区对于应用程序是透明的,只不过是数据库对于数据的重新整理。

二:分区的作用

(1)提升性能

 没有分区前,数据每次在查询和检索总是面向的是整个数据库和表。分区之后,mysql针对每个分区生成特定的数据文件与索引文件。每次只会检索特定的部分数据,因此可以更好的来执行和维护数据库。究其原因还是因为在分区之后表指派到不同的物理驱动上,这样可以同时访问多个分区时减少物理I/O争用。

(2)易于管理

对于一些无用的冗余的历史数据,可以分区之后直接删除相应的分区。操作起来更加简便,因为执行数以万计的数据远比直接删除文件来的困难的多、时间也更加的长。

(3)容错

分区之后相比分区之前,一张表从之前一个文件分为现在三个文件。分区之后即使一个文件出现破坏,也不坏影响其他数据。

 三:常用的分区方法

RANGE分区

LIST分区

HASH分区

KEY分区


RANGE分区

俗称:范围分区。根据表的字段值,依据给定某段连续的区间来分区。

LIST分区

俗称:列表分区。其实list分区和range分区应该说都是一样的,不同的是range分区在分区时的依据是一段连续的区间,而list分区针对的分区时一组分布的散列值。

HASH分区

哈希分区主要是依据表的某个字段以及指定分区的数量。

KEY分区

和hash分区类似,mysql默认使用表的主键或唯一键进行区分

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值