分区表使用myisam引擎。
分区规则:
Range(范围)–这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。
Hash(哈希)–这中模式允许通过对表的一个或多个列的Hash
Key
进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。
Key
(键值)-上面Hash模式的一种延伸,这里的Hash
Key
是MySQL系统产生的。
List(预定义列表)–这种模式允许系统通过预定义的列表的值来对数据进行分割。
Composite(复合模式) –以上模式的组合使用。
查询分区:explain partitions select * from t_tablename;
创建分区:
alter table t_tablename
partition by range columns(date_time)(
PARTITION partitionName values less than ('2016-08-01')
);
新增分区:
alter table t_tableName
add partition(PARTITION partitionName values less than ('2016-09-01') );
注:从5.5之后才可以用columns的写法。其他分区写法在查询时不能准确定位数据所在分区。