首页 > 其他分享 >shardingsphere5分表demo

shardingsphere5分表demo

时间:2024-08-12 12:42:41浏览次数:11  
标签:COMMENT datetime demo shardingsphere5 order 分片 分表 NULL id

分表配置demo

databaseName: mydb # 逻辑数据库名称  
  
dataSources:  
  ds_0:  
    url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false  
    username: root  
    password: root  
    connectionTimeoutMilliseconds: 30000  
    idleTimeoutMilliseconds: 60000  
    maxLifetimeMilliseconds: 1800000  
    maxPoolSize: 50  
    minPoolSize: 1  
  
rules:  
- !SHARDING  
  tables:  
    t_order: # 需要分表的表名  
      actualDataNodes: ds_0.t_order_${0..1} # 分片节点配置,ds_0和ds_1分别对应两个数据源,t_order_0和t_order_1是分片后的表名  
      tableStrategy:  
        standard:  
          shardingColumn: id # 分片键  
          shardingAlgorithmName: t_order_inline # 分片算法名称  
    t_user:  # 逻辑表名  
      actualDataNodes: ds_0.t_user_${202401..202403}  # 实际数据节点,这里按月分片,假设分片到2023年的每个月  
      tableStrategy:  
        standard:  
          shardingColumn: workdate  # 分片键  
          shardingAlgorithmName: sharding_by_time  # 分片算法名称 
      #keyGenerateStrategy:
      #  column: id
      #  keyGeneratorName: snowflake  # 主键生成策略名称         
  shardingAlgorithms:  
    t_order_inline:  
      type: INLINE # 分片算法类型  
      props:  
        algorithm-expression: t_order_${id % 2} # 分片算法表达式,这里使用取模算法  
    sharding_by_time:  
      type: INTERVAL  
      props:  
        datetime-pattern: yyyy-MM-dd  # 时间格式  
        datetime-interval-amount: 1  # 分片间隔数量  
        datetime-interval-unit: MONTHS  # 分片间隔单位
        datetime-lower: '2024-01-01'
        sharding-suffix-pattern: yyyyMM
  keyGenerators:
    snowflake: # 定义一个主键生成策略
      type: SNOWFLAKE        

建表语句

drop table if exists t_order_1;
CREATE TABLE `t_order_1` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',  
  aa varchar(255) not null default '' COMMENT '',
  `createtime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间 [text no-add]',
  `updatetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间 [text no-add]',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;



CREATE TABLE `t_user_202401` (
  `id` bigint(16) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `workdate` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);

CREATE TABLE `t_user_202402` (
  `id` bigint(16) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `workdate` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);
CREATE TABLE `t_user_202403` (
  `id` bigint(16) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `workdate` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);

 

标签:COMMENT,datetime,demo,shardingsphere5,order,分片,分表,NULL,id
From: https://www.cnblogs.com/wujf/p/18348871

相关文章

  • FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
    ​不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。除了常见的图文即时通信,还有实时音视频通信,比如一对一的音频通话、一对一的视频通话等等,此时可采用W......
  • 详细分析JWT的基本知识(附Demo)
    目录前言1.基本知识2.JWT验证过程3.Demo前言对于Java的基本知识推荐阅读:java框架零基础从入门到精通的学习路线附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新)1.基本知识紧凑的、URL-safe的表示方式,通常用于认证和信息交换JWT由三部分组成......
  • 关于C#的Dynamic调用方法前的一些准备的小Demo
    usingSystem;usingSystem.CodeDom.Compiler;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Reflection;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApp1{publicclassTest{publicstaticTestT......
  • 后台开发必问题:分库分表面试题及参考答案(3万字长文)
    目录简述为什么要分库?简述为什么要分表?解释什么时候考虑分库分表?简述什么是数据库垂直切分?简述什么是数据库水平切分?请简述数据库分库分表的概念及其优缺点。数据库垂直分表和水平分表的主要区别是什么?什么是数据库分片?它有哪些常见的实现方式?如何分库分表?分库分表......
  • uniapp | vue2 实现用户登录 记住账号密码 功能(附Demo)
    目录前言1.uniapp2.vue2前言文中分为两个方面,一个是uniapp小程序,一个是vue2前端(vue3其实同理,只不过格式稍有不同而已)初始界面(以vue2的界面为例)加入按钮之后,界面如下:1.uniapp整一个按钮框:<!-- 记住账号密码--><viewclass="remember-psw-container">......
  • 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认
    原文链接:https://www.cnblogs.com/wwssgg/p/17984105今天运行项目的时候出现了这个错误....查了一下解决的方法。 具体方案如下: 1、先确认安装IIS的时候有没有装Asp.Net,如果没安装的话,安装上即可。(XTHS:采用这步,就可以了!) 2、IIS采用了更安全的web.config管理机制,默......
  • Java多线程Demo简介
    多线程文件下载管理器1.环境准备Java8或更高版本任何文本编辑器或IDE(如IntelliJIDEA或Eclipse)2.需求分析功能需求:支持从多个URL同时下载文件显示下载进度异常处理和重试机制3.实现步骤3.1创建Downloader类这个类实现了Runnable接口,用于下载单个文件。pa......
  • 深入解析:23种软件设计模式详解及其分类(创建型、结构型、行为型)附代码示例DEMO
    目录引言一、创建型模式1.简单工厂模式(SimpleFactoryPattern)2.抽象工厂模式(AbstractFactoryPattern)3.单例模式(SingletonPattern)4.建造者模式(BuilderPattern)5.原型模式(PrototypePattern)二、结构型模式1.适配器模式(AdapterPattern)2.桥接模式(BridgePatt......
  • STM32F1移植FREERTOS DEMO
    简介STM32F1太常用了,因为官网已经把移植的工作做的很完善了,只要文件放到相应工程里就可以使用,这里只做一个简单的DEMO,记录下FreeRTOS正常启动的流程CUBEMX配置1.新建CUBEMX工程,使用SWD的情况先配置SWD设置,防止第一次烧录后,后续无法使用2.由于FreeRTOS有重新使用到SYSTICK(滴搭......
  • mysql如何储存大量数据,分库存分表的建议和看法
    MySQL在处理大量数据时,分库分表是常见的策略,可以有效提升数据库的性能和扩展性。下面是关于MySQL分库分表的建议和看法:1.何时考虑分库分表数据量大:当单一数据库实例无法处理大规模数据或达到性能瓶颈时,可以考虑分库分表来分散数据存储和查询压力。垂直切分:将不同的......