38MyCat - 分片规则(自然月分片)

简介: 38MyCat - 分片规则(自然月分片)

按月份列分区 ,每个自然月一个分片,格式 between操作解析的范例。

<tableRule name="sharding-by-month">
   <rule>
     <columns>create_time</columns>
     <algorithm>sharding-by-month</algorithm>
   </rule>
 </tableRule>
<function name="sharding-by-month" class="org.opencloudb.route.function.PartitionByMonth">
   <property name="dateFormat">yyyy-MM-dd</property>
   <property name="sBeginDate">2014-01-01</property>
 </function>

配置说明:

columns: 分片字段,字符串类型

dateFormat : 日期字符串格式

sBeginDate : 开始日期

PartitionByMonth partition = new PartitionByMonth();
 partition.setDateFormat("yyyy-MM-dd");
 partition.setsBeginDate("2014-01-01");
 partition.init();
 Assert.assertEquals(true, 0 == partition.calculate("2014-01-01"));
 Assert.assertEquals(true, 0 == partition.calculate("2014-01-10"));
 Assert.assertEquals(true, 0 == partition.calculate("2014-01-31"));
 Assert.assertEquals(true, 1 == partition.calculate("2014-02-01"));
 Assert.assertEquals(true, 1 == partition.calculate("2014-02-28"));
 Assert.assertEquals(true, 2 == partition.calculate("2014-03-1"));
 Assert.assertEquals(true, 11 == partition.calculate("2014-12-31"));
 Assert.assertEquals(true, 12 == partition.calculate("2015-01-31"));
 Assert.assertEquals(true, 23 == partition.calculate("2015-12-31"));


目录
相关文章
|
8月前
|
存储 SQL 缓存
27MyCat - 分片规则
27MyCat - 分片规则
29 0
|
8月前
34MyCat - 分片规则(应用指定)
34MyCat - 分片规则(应用指定)
25 0
|
8月前
36MyCat - 分片规则(一致性hash)
36MyCat - 分片规则(一致性hash)
35 0
|
8月前
28MyCat - 分片规则(分片枚举)
28MyCat - 分片规则(分片枚举)
18 0
|
8月前
|
数据处理 数据库
08MyCat - 概念 - 分片节点、分片规则、全局序列号
08MyCat - 概念 - 分片节点、分片规则、全局序列号
26 0
|
8月前
35MyCat - 分片规则(字符串hash解析)
35MyCat - 分片规则(字符串hash解析)
53 0
|
8月前
|
算法
29MyCat - 分片规则(固定分片hash算法)
29MyCat - 分片规则(固定分片hash算法)
29 0
|
8月前
31MyCat - 分片规则(按日期分片)
31MyCat - 分片规则(按日期分片)
23 0
|
存储 算法 中间件
MyCat - 分片 - 分片规则 - 应用指定算法 | 学习笔记
快速学习 MyCat - 分片 - 分片规则 - 应用指定算法
133 0
MyCat - 分片 - 分片规则 - 应用指定算法 | 学习笔记
|
存储 关系型数据库 MySQL
MyCat - 分片 - 分片规则 - 准备工作 | 学习笔记
快速学习 MyCat - 分片 - 分片规则 - 准备工作
84 0
MyCat - 分片 - 分片规则 - 准备工作 | 学习笔记