#应用名称 spring: application: name: sharding-jdbc-test #开发环境设置 profiles: active: dev #配置为内存模式 shardingsphere: mode: type: Memory # 配置真实数据源 datasource: names: server-order00,server-order01 # 配置第 1 个数据源 server-order00: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver jdbc-url: jdbc:mysql://127.0.0.1:3306/sharding_jdbc_order01 username: root password: 123456 # 配置第 2 个数据源 server-order01: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver jdbc-url: jdbc:mysql://127.0.0.1:3306/sharding_jdbc_order02 username: root password: 123456 #--------------------------------------标准分片的配置(数据节点配置) #由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持 inline 表达式。 #缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况 #https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/ rules: sharding: tables: # 数据分片规则配置 t_order: # 逻辑表名称 actualDataNodes: server-order0$->{0..1}.t_order$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则) databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一 standard: # 用于单分片键的标准分片场景 shardingColumn: user_id # 分片列名称(数据库列字段,用户名称) shardingAlgorithmName: t-order-inline # 分片算法名称 tableStrategy: # 分表策略,同分库策略 standard: # 用于单分片键的标准分片场景 shardingColumn: order_no # 分片列名称(数据库列字段,订单号) shardingAlgorithmName: t-order-hash-mod # 分片算法名称 keyGenerateStrategy: # 分布式序列策略 column: id # 自增列名称,缺省表示不使用自增主键生成器 keyGeneratorName: kgan-snowflake # 分布式序列算法名称 t_order_item: # 逻辑表名称 actualDataNodes: server-order0$->{0..1}.t_order_item$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则) databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一 standard: # 用于单分片键的标准分片场景 shardingColumn: user_id # 分片列名称(数据库列字段,用户名称) shardingAlgorithmName: t-order-inline # 分片算法名称 tableStrategy: # 分表策略,同分库策略 standard: # 用于单分片键的标准分片场景 shardingColumn: order_no # 分片列名称(数据库列字段,订单号) shardingAlgorithmName: t-order-hash-mod # 分片算法名称 keyGenerateStrategy: # 分布式序列策略 column: id # 自增列名称,缺省表示不使用自增主键生成器 keyGeneratorName: kgan-snowflake # 分布式序列算法名称 t_dict: # 逻辑表名称 actualDataNodes: server-order0$->{0..1}.t_dict # 由数据源名 + 表名组成(参考 Inline 语法规则) # ---------------------------------------分片算法配置 #https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-jdbc/yaml-config/algorithm/ shardingAlgorithms: #行表达式分片算法 t-order-inline: # 分片算法名称 # type 和 props,请参考分片内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/sharding/ type: INLINE # 分片算法类型 props: # 分片算法属性配置 #t_order0$->{user_id % 2} 表示 t_order 表根据 user_id 取模(取余) 2,而分成 2 张表,表名称为 t_order01 到 t_order02 algorithm-expression: server-order0$->{user_id % 2} #取模分片算法 t-order-mod: # 分片算法名称 # type 和 props,请参考分片内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/sharding/ type: MOD # 分片算法类型 props: # 分片算法属性配置 #分片数量 sharding-count: 2 #哈希取模分片算法 t-order-hash-mod: # 分片算法名称 # type 和 props,请参考分片内置算法:https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/sharding/ type: HASH_MOD # 分片算法类型 props: # 分片算法属性配置 #分片数量 sharding-count: 2 # 分布式序列算法配置 #---------------------------------------分布式序列算法 #https://shardingsphere.apache.org/document/current/cn/user-manual/common-config/builtin-algorithm/keygen/ keyGenerators: kgan-snowflake: # 分布式序列算法名称 type: SNOWFLAKE # 分布式序列算法类型 #props: # 分布式序列算法属性配置 #指分片规则一致的一组分片表。 使用绑定表进行多表关联查询时,必须使用分片键进行关联,否则会出现笛卡尔积关联或跨库关联,从而影响查询效率。 #例如:t_order 表和 t_order_item 表,均按照 order_id 分片,并且使用 order_id 进行关联,则此两张表互为绑定表关系。 #绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率将大大提升 #https://shardingsphere.apache.org/document/current/cn/features/sharding/concept/ bindingTables: # 绑定表规则列表 - t_order,t_order_item #解决笛卡尔积查询 #指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。 适用于数据量不大且需要与海量数据的表进行关联查询的场景,例如:字典表。 #https://shardingsphere.apache.org/document/current/cn/features/sharding/concept/ broadcastTables: # 广播表规则列表 - t_dict props: #是否在日志中打印 SQL 打印 SQL 默认值 false sql-show: true
表结构:
编辑
Android 哪些系统应用没法禁用(即哪些应用的禁用按钮是灰选)?
AJAX & AXIOS-2024/11/1
验证码处理在自动化测试中的应用
Java,启动!
2024/11/1日 日志 关于JavaScript简介&引入方式 以及基础语法的学习
android 13 更改手机信号调整
BFS(Breath First Search 广度优先搜索)
Angular 18 上手开发
单链表题+数组题(快慢指针和左右指针)
MySQL和Easy-Es语法对照表
DevOp相关
CSRF攻击与防御
华为云开源项目Sermant正式成为CNCF官方项目
spring-boot-configuration-processor无法生效
给网站添加春节灯笼效果:引入即用,附源码!
如何在鲲鹏平台上快速上手应用开发?鲲鹏DevKit给你答案
程序员的修炼之路
Java-中文官方教程-2022-版-一-
Java-中文官方教程-2022-版-五-
Java-中文官方教程-2022-版-四-
划水
命令拼接技巧
Fiddler抓包Android7以内版本
SD NAND 与 SPI NAND
C语言中的编译过程详解
step7 V5.x上的SCL
yolo --- 核心思想
【游记】CCPC 济南 2024 游记
一些学科笑话
NOIP2024模拟赛20 & 11.1 小记
20241101 数据结构与算法期中机试收获
什么是IT技术
即将到来!
舍得-时间-工作是人的一生最重要的事情-自己要有私房钱-人的一生最重要的事情是书写自己的人生
2.TiUP 部署 DM 集群
原型模式的C++实现
Ethernaut Level 11: Elevator Attack and Blockchain Interaction
快速部署开源spug运维平台的Docker安装指南
驱动调试之printk的原理与使用
计算机思维模型及其应用
华为云发布代码大模型PanGu-Coder2,实现高效代码生成
Linux多硬盘数据存储和分区操作
构建高可用架构: 分层冗余与自动故障转移
LoRA:高效调参的大语言模型适应方法
《分布式系统的基本原理及互联网分层架构的本质》
Hadoop写流程解析
Java架构师的系统架构设计方法论中的规范要点
使用observeDOM解决BetterScroll插件在移动端无法滑动的问题
互联网一致性架构设计实践
高并发系统架构与水平扩展
混合应用的崛起:跨平台开发取代原生应用