mysql 分表分区小记

jopen 7年前

分表

第一种 是做mysql集群利用mysql cluster ,mysql proxy,mysql replication,drdb等等

第二种 是把访问频繁的且数据量大的表拆成若干小表

第三种  是利用mysql merge存储引擎分表

 

分区

 第一种  RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。
 第二种  LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。 
 第三种  HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。
 第四种  KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。 

分表的好处 是提高单表的并发能力当然IO磁盘能力也有所提高

分区的好处 是提供IO磁盘的读写能力

 

一般访问频繁且数据量大的采用分表

访问一般 数据量大的采取分区