ToB企服应用市场:ToB评测及商务社交产业平台

标题: ShardingSphere水平分表策略配置和测试实战 [打印本页]

作者: 自由的羽毛    时间: 2023-7-21 17:13
标题: ShardingSphere水平分表策略配置和测试实战
实战样板

<ul>依赖引入
  1.     <dependency>
  2.         <groupId>org.apache.shardingsphere</groupId>
  3.         <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
  4.         <version>4.1.1</version>
  5.     </dependency>
复制代码
application
  1. # 数据源 ds0 第一个数据库  --- 版本:mysql8
  2.   shardingsphere:
  3.     datasource:
  4.       ds0:
  5.         connectionTimeoutMilliseconds: 30000
  6.         driver-class-name: com.mysql.cj.jdbc.Driver
  7.         idleTimeoutMilliseconds: 60000
  8.         jdbc-url: jdbc:mysql://[ip]:3306/[数据库]?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
  9.         maintenanceIntervalMilliseconds: 30000
  10.         maxLifetimeMilliseconds: 1800000
  11.         maxPoolSize: 50
  12.         minPoolSize: 50
  13.         password: [密码]
  14.         type: com.zaxxer.hikari.HikariDataSource
  15.         username: [用户名]
  16.       names: ds0
  17.     props:
  18.       # 打印执行的数据库以及语句
  19.       sql:
  20.         show: true
  21.     sharding:
  22.       tables:
  23.         [表名]:
  24.           # 指定表的数据分布情况,配置数据节点,行表达式标识符使用 ${...} 或 $->{...},但前者与 Spring 本身的文件占位符冲突,所以在 Spring 环境中建议使用 $->{...}
  25.           actual-data-nodes: ds0.[表名_]$->{0..1}
  26.           # 水平分表策略+行表达式分片
  27.           table-strategy:
  28.             inline:
  29.               algorithm-expression: [表名_]$->{[取模字段] % 2}
  30.               sharding-column: [取模字段]
复制代码
测试
[code]    @Test    public void  testSaveTraffic(){        Random random = new Random();        for(int i=0;i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4