MySQL 表分区实践 卜木 收录于 类别 MySQL 2016-10-24 2016-10-24 约 556 字 预计阅读 2 分钟 目录 一、首先建立一张测试用的文章表 1 2 3 4 5 6 7 CREATE TABLE `article` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` tinytext NOT NULL COMMENT '标题', `content` text COMMENT '内容', `timeline` int(11) DEFAULT NULL COMMENT '发布/修改时间', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='文章表'; 二、表分区类型 ##根据所使用的不同分区规则可以分成几大分区类型。 ###RANGE 分区: 基于属于一个给定连续区间的列值,把多行分配给分区。 LIST 分区: 类似于按 RANGE 分区,区别在于 LIST 分区是基于列值匹配一个离散值集合中的某个值来进行选择。 HASH 分区: 基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含 MySQL 中有效的、产生非负整数值的任何表达式。 KEY 分区: 类似于按 HASH 分区,区别在于 KEY 分区只支持计算一列或多列,且 MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。 复合分区: 基于 RANGE/LIST 类型的分区表中每个分区的再次分割。子分区可以是 HASH/KEY 等类型。