开发指南—函数—拆分函数—YYYYMM

简介: 本文介绍YYYYMM函数的使用方式
+关注继续查看

描述

根据拆分键时间值的年份与月份计算哈希值,然后再按分库数进行取余。

例如,YYYYMM('2012-12-31 12:12:12')等价于按照(2012x12+12)%D(D是分库数目)公式计算出2012-12-31是2012年的第12个月。

使用限制

  • 拆分键的类型必须是DATE、DATETIME或TIMESTAMP中的一种。
  • 使用YYYYMM函数前,需要先确定所需的总物理分表数,您可以通过确定循环周期(如2年)来确定总的物理分表数。因为YYYYMM函数仅支持为循环周期内的每一个月创建一张独立分表。
  • 当月份经过一个循环周期后(如2012-03经过一个2年的循环周期后是2014-03),相同月份有可能被路由到同一个分库分表,具体被分到哪个分表受实际的分表数目影响。

使用场景

适合于需要按年份与月份进行分库的场景,建议结合该函数与tbpartition by YYYYMM(ShardKey)命令一起使用。

使用示例

假设PolarDB-X里已经拥有8个物理库,现有如下需求:

  • 按年月进行分库。
  • 同一个月的数据都能落在同一张分表,且两年以内的每一个月都能单独对应一张分表。
  • 查询时带上分库分表键后能直接将查询落在某个物理分库的某个物理分表。

YYYYMM分库函数即可满足上述要求。上述需求中提到两年以内的每个月都需对应一张分表(即一个月一张表),由于一年有12个月,所以需要创建24(12x2=24)张物理分表才能满足上述需求。PolarDB-X已有8个分库,所以每个分库应该建3(24/8=3)张物理分表。

则您可以使用如下建表DDL:


create table test_yyyymm_tb (    
        id int, 
        name varchar(30) DEFAULT NULL,  
    create_time datetime DEFAULT NULL,
    primary key(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
dbpartition by YYYYMM(create_time)
tbpartition by YYYYMM(create_time) tbpartitions 3;
相关文章
|
2天前
|
存储 JSON 缓存
十行代码让日志存储降低80%
日志是系统中熵增最快的一个模块,它承载了业务野蛮生长过程中的所有副产品。本文介绍了一个日志治理案例,围绕降本和提效两大主题,取得一定成效,分享给所有渴望造物乐趣的同学。
52542 19
十行代码让日志存储降低80%
|
2天前
|
人工智能 算法 大数据
听静渔说,开发者以国赛的方式进场了
开发者关系和培训中心负责人孟晋宇, 做客天津卫视节目,讲述了阿里云在数字化人才培养和技能人才方面为开发者提供的体系化解决方案:我们积累了非常多的数字化实践经验,沉淀了体系化的能力技术,从而转化为体系化的课程,按照升级打怪的模式,通过微认证——ACA——ACP——ACE这样的认证体系,帮助开发者,逐步完成整体技术的认知能力和岗位技能的提升。
27496 6
听静渔说,开发者以国赛的方式进场了
|
2天前
|
Kubernetes Java 调度
Java 应用程序在 Kubernetes 上棘手的内存管理(上)
Java 应用程序在 Kubernetes 上棘手的内存管理
26826 1
|
2天前
|
人工智能 开发者
万物皆可AIGC,免费算力等你来
人人都可以玩转AIGC! 本次活动广泛征集运用阿里云产品进行AIGC创作的作品,无论你是小白还是资深开发者,都可以来活动页领取免费算力,根据教程或任意组合阿里云免费资源进行AIGC创作,云端释放无限创意!
41435 19
|
3天前
|
前端开发 JavaScript BI
做好这四步,服务端轻松成为全栈化人才
本文总结了作者和团队的其他同学在全栈化实践中的痛点和问题,分享了自己的解决思路和经验,希望让后人可以更轻松加入全栈化大家庭,走的更快更稳。
43883 12
做好这四步,服务端轻松成为全栈化人才
|
3天前
|
消息中间件 缓存 监控
Rocketmq并发和顺序消费的失败重试机制
Rocketmq并发和顺序消费的失败重试机制
|
11月前
|
SQL
开发指南—函数—拆分函数—MMDD
本文介绍MMDD函数的使用方式。
|
12月前
|
SQL
开发指南—函数—拆分函数—YYYYWEEK
本文将介绍YYYYWEEK函数的使用方式。
|
12月前
|
SQL
开发指南—函数—拆分函数—YYYYMM
本文介绍YYYYMM函数的使用方式
|
12月前
|
SQL
开发指南—函数—拆分函数—YYYYDD
本文介绍YYYYDD函数的使用方式。
相关产品
云原生分布式数据库 PolarDB-X
云原生数据库 PolarDB
推荐文章
更多