sharding-jdbc 3.0 部分表分表,关联查询会遍历所有的分表

XGoingdown 发布于 01/11 10:16
阅读 1K+
收藏 0

现有表A(a1,a2,a3),B(b1,b2,b3) ,只对B表分表B_01,B_02,根据b2字段分表

select  A.a1,A.a2,A.a3,B.b2,B.b3  from B inner join A on A.a1=B.b1 where B.b2='bxx' and A.a2='axx'

sharding-jdbc 解析后,会遍历所有的分表

select  A.a1,A.a2,A.a3,B_01.b2,B_01.b3  from B_01 inner join A on A.a1=B_01.b1 where B_01.b2='bxx' and A.a2='axx'

select  A.a1,A.a2,A.a3,B_02.b2,B_02.b3  from B_02 inner join A on A.a1=B_02.b1 where B_02.b2='bxx' and A.a2='axx'

入参bxx只会定位到B_01

需要怎样的修改才会定位到B_01,而不会出现B_02的逻辑

加载中
0
最爱的洋芋坨坨
最爱的洋芋坨坨

你的出发点错了   分表情况下还有联表查询

MingruiSucceed
MingruiSucceed
回复 @最爱的洋芋坨坨 : 坨坨,问个问题,我用shardingjdbc 已分片的表关联未分片的表查询时报错,你有遇到过吗?这种应该如何解决,还是shardingjdbc不支持呢?
最爱的洋芋坨坨
最爱的洋芋坨坨
回复 @XGoingdown : 根据序列定位到子表 后 用子查询吧;像分页什么的要用 es 把数据集中
X
XGoingdown
我在弱弱的问一句,有没有办法在关联的时候,根据我的入参直接命中唯一的分表
X
XGoingdown
嗯,我咨询了下其他人,也说是尽量不要用关联查询
返回顶部
顶部