【springboot+sharding-jdbc】sharding-jdbc踩坑,遇见的问题

sharding-jdbc使用笔记:


问题1

项目中还有正liquidbase,启动报错:SQLFeatureNotSupportedException: setFetchSIze

解决办法: 关掉liquibase,启动命令中加入,no-liquibase

问题2

启动后数据库健康检查失败:DataSource health check failed

解决办法:参考连接 https://www.cnblogs.com/laeni/p/16089788.html

问题3

根据主键查询不打印sql日志

解决办法:使用一个不存在的主键去查询就会出现日志,会到所有分片中去查询数据。因此推测sharding-jdbc似乎对findById()有进行优化,主键查询不会无脑进行所有分片查询。-----------好像并没有优化。。。

问题4

自定义分片方法,单独实现了RangeShardingAlgorithm 接口,配置也没问题,但是启动报错

解决办法:需要同时实现精确分片PreciseShardingAlgorithm 接口一起配置使用,正常启动。

问题5

更新数据的时候为什么不使用分片键作为条件呢??

解决办法:。。。

问题6

在使用XA事务的时候出现事务过多异常,就算调整了连接池,和取消事务数量限制还是会报错

解决办法:由于业务上是存储过期数据,分片报错失败的数据可以后续继续跑批刷入分片分表中,故暂时取消事务,不做事务控制。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值