记录一下shardingsphere-jdbc查询分表使用union all的低级错误

news2025/4/25 9:18:29

使用shardingsphere-jdbc查询犯的低级错误,union all 字段没对齐,导致分片值有空值或数据不对,分片结果不对

有个数据同步的功能,对应的表使用到了shardingsphere-jdbc进行分表,所以想着是用shardingsphere-jdbc取数据再shardingsphere-jdbc的分片规则同步插入其他数据库,完成数据的同步

  • 用shardingsphere-jdbc查询从控制台可以看到是使用union all进行对分表的结果整合的:
 Actual SQL: ds0 ::: SELECT * FROM box_0 a WHERE a.create_time >= ? or a.update_time >= ? UNION ALL SELECT * FROM box_1 a WHERE a.create_time >= ? or a.update_time >= ? UNION ALL .........
  • union all 只会数据合并在一起,而不会根据字段的名字一一对应
    在这里插入图片描述

因为数据库的表结构被人改动过,导致两边的数据的表字段顺序是对应不上的,所以uniion all 出来的结果是和预期对不上的

  • 如果分片值出现空值的时候就会报错,分片值不能对应上的话,最后的分表结果也是对应不上的,所以一定要注意保证分片值的正确性
    在这里插入图片描述

一开始是用表与表之间的同步(就是box_0,box_1…box_22…一张表一张表地同步数据),把所有表的同步都放在同一个事务中,保证整个分表的数据一致性,但是分表太多,避免大事务的出现,所有才用回shardingsphere-jdbc
如有更好的解决方案请评论发我,谢谢~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/863526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新

华为 Mate 30 系列于 2019 年 11 月 1 日上市,包括 Mate 30 4G / 5G、Mate 30 Pro 4G / 5G、保时捷设计版 Mate30 共五款机型。华为 Mate 30 系列 5G 版搭载麒麟 990 5G 处理器,同时支持 SA 及 NSA 5G 双模,适配三大运营商的 5G / 4G / 3G / …

Vue3 :组合式写法入门

Vue3 :组合式写法入门 Date: May 11, 2023 Sum: 使用create-vue搭建Vue3项目、组合式API - setup、reactive和ref、computed、watch、生命周期函数、父子通信、模版引用、provide/inject 认识Vue3 1. Vue3组合式API体验 通过 Counter 案例 体验Vue3新引入的组合式…

回顾5款实用小软件,希望大家能够喜欢

我喜欢分享好软件,这就像与老友聊天一样让我感到快乐。在这个过程中,我可以回顾这些实用的小工具,也希望它们可以帮助到更多人。 稍后阅读工具——Pocket Pocket是一个非常好用的文章保存工具,它可以让你保存感兴趣的文章或网页,稍后在任何设备上进行离线阅读。无论你在电脑或…

活动预告|聊聊Moonbeam治理和生态Grants

为Web3设计良好的治理机制是一项具有挑战性的任务。去中心化治理系统对于Web3的发展至关重要。高效运行的治理机制有助于项目的稳定运行,同时又能提升社区用户的参与度,Web3开发者的凝聚力和活跃度,甚至促进更多创新的商业应用在公链生态落地…

pycharm中配置conda

安装好pycharm和conda后,打开pycharm:

mac电脑 node 基本操作命令

1. 查看node的版本 node -v2. 查看可安装的node版本 sudo npm view node versions3. 安装指定版本的node sudo n 18.9.04. 安装最新版本node sudo n latest5. 安装最新稳定版 sudo n stable6. 清楚node缓存 sudo npm cache clean -f7. 列举已经安装的node版本 n ls 8. 在…

【脚踢数据结构】深入理解栈

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的一句鸡汤🤔&…

哨兵2号在SNAP中去云处理后

1.Fmask软件需要对1C级产品进行处理 软件下载,链接到github地址 我下载的是4.5版本,无脑安装即可。 双击打开软件(需要等一会),长这样 路径选择E:\S2\S2A_MSIL1C_20220806T032531_N0400_R018_T49RBQ_20220806T054540\S2A_MSIL1…

每天一道leetcode:剑指 Offer 12. 矩阵中的路径(中等DFS深度优先遍历)

今日份题目: 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元…

一文讲述什么是数字孪生?

当前世界正处于百年未有之大变局,数字经济在各国已成为经济发展的重点。数字经济也是我国社会经济发展的必经之路。 近些年,大数据、人工智能、数字孪生等技术的发展促使技术与国内各产业进一步融合,从而推动了各产业在智能化、数字化等方面…

雷军写的代码上热搜了!

就在昨天,「雷军写的代码」相关话题先后上了一波热搜和热榜。 出于好奇,第一时间点进去围观了一波。 原来雷总马上要在8月14日举办他的2023年度演讲了,并且也放出了对应的演讲海报。 这个海报可以说暗藏玄机,放大后仔细一看&#…

前端部署流程详解

部署流程 1.打包前端项目成一个dist文件夹 命令: npm run build作用:用vue-cli内部集成的webpack,把 .vue, .less, .js 等打包成浏览器可直接执行的代码 html,css,js。 结果:会在项目根目录下创建 /dist目录&…

UEFI+win7+多系统安装

物理主机先安装的Windows10,同时需要安装Windows7的双系统 1.在https://next.itellyou.cn/下载Windows 7 ISO 2.使用Rufus制作U盘安装盘 注意一定要选择FAT32格式,否则安装过程会卡住 3.由于官方纯净的安装镜像默认不支持UEFI安装,有两种解决…

github的issue最大支持的字符数为65536 characters

Issue templates and forms are currently unavailable. Please try again later. Comment is too long (maximum is 65536 characters) There was an error creating your Issue: body is too long (maximum is 65536 characters). 所以不能存储内容过大的markdown笔记&…

互联网医院|线上医疗平台如何建设运营服务商?

互联网医院平台紧密结合了大数据和人工智能技术,为医疗服务提供了更精准和个性化的解决方案。通过对海量的医疗数据进行分析和挖掘,平台能够为医生提供更多准确可靠的参考依据,辅助医生做出更好的诊断和治疗决策。 在选择互联网医院建设运营服…

Spring kafka源码分析——消息是如何消费的

文章目录 概要端点注册创建监听容器启动监听容器消息拉取与消费小结 概要 本文主要从Spring Kafka的源码来分析,消费端消费流程;从spring容器启动到消息被拉取下来,再到执行客户端自定义的消费逻辑,大致概括为以下4个部分&#x…

直播|深入解析 StarRocks 存算分离—云原生湖仓 Meetup#2

StarRocks 3.0 正式开启极速统一的湖仓新范式,借助云原生存算分离构架、极速数据湖分析、物化视图等重量级特性实现湖仓架构升级,兼具数据仓库查询高性能与数据湖低成本可扩展的优势,让用户更简单地实现极速统一的湖仓分析。 作为 StarRocks…

05-bean工厂的准备工作

入口方法 prepareBeanFactory(beanFactory);protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory) {// Tell the internal bean factory to use the contexts class loader etc.// 设置beanFactory的classloader为当前context的classloaderbeanF…

计算机组成原理-笔记-第六章

目录 六、第六章——总线 1、总线(基本概念) (1)总线的定义 & 特性 (2)串行 &并行 (3)总线的分类 (4)总线分类——功能 (4.1&…

分布式数据库视角下的存储过程

存储过程很好呀,那些用不好的人就是自己水平烂,不接受反驳!我就有过这样念头,但分布式数据库,更倾向少用或不用存储过程。 1 我从C/S时代走来 C/S架构时代的末期最流行开发套件是PowerBuilder和Sybase数据库&#xf…