欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

shardingsphere-proxy 自定义分库,按年月日,季度,周分表规则

程序员文章站 2022-06-28 18:22:42
shardingsphere-proxy 在大部分网上写的资料中,关于分片和分库规则都是采用 字段取余的方式,比如下面的写法(将order_id作为分表字段,取余进行分表),如何按年月日,季度,等方式分片呢?需要自定义类来实现。例如:t_order_item:actualDataNodes: ds_${0..1}.t_order_item_${0..1}tableStrategy:inline:shardingColum......

shardingsphere-proxy 在大部分网上写的资料中,关于分片和分库规则都是采用 字段取余的方式,比如下面的写法(将order_id作为分表字段,取余进行分表),如何按年月日,季度,等方式分片呢?需要自定义类来实现。

例如:

  t_order_item:

      actualDataNodes: ds_${0..1}.t_order_item_${0..1}

      tableStrategy:

        inline:

          shardingColumn: order_id

          algorithmExpression: t_order_item_${order_id % 2}

 

   网上都是以上面的例子取余的方式分表,分库,对于初学者来说无不知道如何实现了。本人水平有限,刚接触shardingsphere,所以想实现除了取余之外的分表都不知道如何实现。最后终于通过自定义分片规则的方式实现 任意方式的分表。仅供大家参考。

可以通过java定义自定义分片类,类继承分片接口,在类中重写分片接口中分片函数的方式。比如按年分表的方式:

第一步:创建一个java工程,引入mysql-connector-java.jar 包。 

   mysql-connector-java.jar在mysql官网下载

本文地址:https://blog.csdn.net/weixin_44211703/article/details/107495008