MySQL分区技术
- - 数据库 - ITeye博客mysql分区技术是mysql5.1以后出现的新技术,能替代分库分表技术,它的优势在于只在物理层面来降低数据库压力. 常用的MySQL分区类型:. 1.RANGE分区:基于属于一个给定的连续区间的列值,把多行分配给分区(基于列). 2.LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合的某个值来进行选择(基于列值是固定值的).
mysql分区技术是mysql5.1以后出现的新技术,能替代分库分表技术,它的优势在于只在物理层面来降低数据库压力。
常用的MySQL分区类型:
1.RANGE分区:基于属于一个给定的连续区间的列值,把多行分配给分区(基于列)。
2.LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合的某个值来进行选择(基于列值是固定值的)。
3.HASH分区:基于用户自定义的表达式的返回值来进行分区选择,该表达式使用将要插入列表中的这些行的列值进行计算,这个函数可以包含mysql中有效的产生非负整数值的任何表达式。
4.KEY分区:类似于HASH分区,却别在于KEY分区只支持计算一列或者多列,且mysql服务器提供其自身的哈希函数。
日常中用的比较多的就是RANGE,LIST分区
实例:
CREATE TABLE TEST{ store_id INT NOT NULL } PARTITION BY RANGE(store_id)( PARTITION p0 VALUES LESS THAN(6), PARTITION p1 VALUES LESS THAN(11) );
以上意思是 当store_id值小于6就会分配到p0分区 小于11则是p1分区
CREATE TABLE TEST{ store_id INT NOT NULL } PARTITION BY LIST(store_id)( PARTITION p0 VALUES IN (1,2,3) , PARTITION p1 VALUES IN (4,5,6) );