本文將介紹MM函數(shù)的使用方式。
描述
根據(jù)分庫(kù)鍵時(shí)間值的月份數(shù)進(jìn)行取余運(yùn)算并得到分表下標(biāo)。
使用限制
- 拆分鍵的類型必須是DATE、DATETIME或TIMESTAMP中的一種。
- 只能作為分表函數(shù)使用,不能作為分庫(kù)函數(shù)使用。
- 按MM進(jìn)行分表,由于一年的月份只有12個(gè)月,所以各分庫(kù)的分表數(shù)不能超過12。
使用場(chǎng)景
MM函數(shù)適用于按月份數(shù)進(jìn)行分表,分表的表名即為月份數(shù)。
使用示例
假設(shè)需要先按ID對(duì)用戶進(jìn)行分庫(kù),再將create_time列按月份進(jìn)行分表,使得每個(gè)月份能夠?qū)?yīng)一張物理表,則您可以使用如下的建表DDL:
create table test_mm_tb (
id int,
name varchar(30) DEFAULT NULL,
create_time datetime DEFAULT NULL,
primary key(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
dbpartition by HASH(id)
tbpartition by MM(create_time) tbpartitions 12;