本文將介紹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;