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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 本文介绍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;
相关文章
|
前端开发 JavaScript UED
一看就懂的gulp操作指南:让前端工作变得更加轻松(二)
一看就懂的gulp操作指南:让前端工作变得更加轻松
|
9月前
|
存储 人工智能 芯片
《光存储与3D存储:开启人工智能硬件存储新时代》
在人工智能快速发展的背景下,数据存储技术的重要性日益凸显。光存储(如全息、多维、超分辨光存储)和3D存储(如3D NAND闪存、3D NVM)等新型技术,以其高密度、高速度的优势,为AI硬件带来全新机遇。这些技术不仅能大幅提升数据处理效率,支持实时决策,还面临成本、稳定性和兼容性等挑战。未来,科研人员和企业需共同努力,推动这些技术与AI硬件的深度融合,助力AI创新与发展。
216 13
|
10月前
|
Python
通义灵码写童年小游戏挑战赛
通义灵码版本升级啦,支持多种上下文组合,包括 #image 、#file、#codeChanges、#gitCommit 等,立即体验。
|
12月前
|
JavaScript 前端开发 安全
跨域解决方案有哪些?
本文介绍了多种跨域解决方案,包括JSONP、CORS、postMessage、WebSocket、document.domain+iframe、window.name、location.hash、Node.js代理、Nginx代理和CORS Anywhere。每种方法都有其适用场景和优缺点,如JSONP简单但只支持GET请求,CORS安全但兼容性稍差,WebSocket适用于实时通信但需服务器支持。开发者可根据具体需求选择合适的跨域方案。
300 3
跨域解决方案有哪些?
|
11月前
|
JSON API 开发者
淘系买家秀API接口系列,示例代码返回值说明
淘宝买家秀API接口是阿里巴巴旗下的淘宝平台提供的一种接口服务,允许淘宝商家或开发者通过编程方式获取并展示淘宝商品的买家秀信息,包括买家上传的图片、视频、评论等内容。以下是对淘宝买家秀API接口的详细介绍:
|
12月前
|
SQL 存储 分布式计算
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
200 3
|
网络协议 数据库 网络架构
OSPF 路由器 ID 的用途
【8月更文挑战第24天】
321 0
|
机器学习/深度学习 存储 算法
数据分类分级-敏感图片识别
本文将介绍我们在证件、票据类敏感图片识别中的一些洞察,以及对上述问题的原创性的解决方案,以帮助企业合法合规、低成本的解决敏感图片识别的难题。在本文第二部分,我们将回顾一些相关的机器视觉(CV)技术。第三部分我们将介绍我们的做法以及达到的效果。
495 1
|
SQL 关系型数据库 数据库
万字带你走过数据库的这激荡的三年
2023 年数据库回顾:向量数据库虽然大火,但没有技术壁垒;2022 年数据库回顾:江山代有新人出,区块链数据库还是那个傻主意;2021 年数据库回顾:性能之争烽烟起,不如低调搞大钱…
532 3
万字带你走过数据库的这激荡的三年
|
数据可视化 定位技术 Python
Matplotlib与其他可视化库的对比与选择
【4月更文挑战第17天】本文对比了Python中的四个数据可视化库:Matplotlib(基础且高度定制)、Seaborn(基于Matplotlib,提供美观统计图表)、Plotly(交互式,支持3D和地图)和Bokeh(用于Web的交互式图表)。选择取决于灵活性、美观性、交互性和学习成本。根据具体需求,如快速生成图表或创建交互式Web可视化,用户可挑选最适合的库。