当前位置:   article > 正文

MySQL的分区方法_mysql的分区方式

mysql的分区方式

1、 概念

表分区是将一个大表,根据条件分割成若干小表,主要目的为了让特定的查询操作减少响应时间,同时对于应用来讲分区完全透明。方式:水平分区(通过表的某个属性作为分割的条件)和垂直分区(对表的垂直划分来减少目标表的宽度,是某些特定列划分到特定的分区)

2、 分区方式

2.1 range分区

    range分区使用values less than 操作符来进行定义,把连续且不相互重叠的字段分配给分区。如某个表有一列为薪资salary,查询会按照某个等级来进行查询,比如高于多少低于多少一个等级,这时就可以使用range进行分区。

Maxvalue表示最大的值,这里注意区间必须包含一个准确的区间,否则会报错。

2.2  list 分区

类似于range分区,主要区别在于list分区中每个分区的定义和选择是基于某列的值从属于一个集合,range分区是从属于一个连续区间值的集合,list例子:某个列的值在集合{1,2,3,4}中的某个值,可以使用list分区

 

2.3 hash分区

hash分区是基于用户定义的表达式的返回值进行选择的分区,该表达式使用将要插入到表中的这些列的列值进行计算,确保数据在预先确定数目的分区中平均分布。

这里的hash里面的内容为一个表达式,根据time的什么内容形成hash值。

2.4 线性hash分区

线性hash分区和hash分区主要的区别在于,线性hash功能使用的一个线性的2的幂运算法则,而hash分区使用的是hash函数的模板

线性hash类似于hash分区,关键字:linear hash

2.5 key分区

类似于hash分区,区别在于key分区只支持计算一列或 多列,且MySQL服务器提供其自身的hash函数,这些函数是基于与password()一样的运算法则。

关键字:key

2.6 复合分区

分区表中的每个分区还可以进行再次分割,子分区既可以使用hash分区,也可以使用key分区

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/630084
推荐阅读
相关标签
  

闽ICP备14008679号