多库的表联合查询

aabbabababaa 2021-04-22 08:44:52
有几个库和表,如
a库num1表,b库num2表,c库num3表,有个共同值cid

怎么查询,a.num1 里的订单,是不是都没有出现在b库num2表和c库num3表里?
...全文
152 点赞 收藏 6
写回复
6 条回复
paullbm 04月26日
引用 5 楼 aabbabababaa 的回复:
别名怎么取? 原库有几千W数据,查询都是超时
那很明显,你这已经不能用现查的方式了! 得将老数据进行分库处理了!比如是按单双数分拆,还是模3,模5分拆? 当然,这还得你自己另外写个辅助的小程序去分拆你的业务。
回复 点赞
aabbabababaa 04月25日
别名怎么取? 原库有几千W数据,查询都是超时
回复 点赞
paullbm 04月25日
引用 3 楼 aabbabababaa 的回复:
改成 select * from a.num1 where cid not exists ( select cid from b.num2 union all select cid from c.num3) 为啥报错的?
报错是因为没有给各个表取别名,导致cid无法识别哪个是哪个吧? 另外:性能提升有2方面: 1).union all改为union,可以并集去重 2).select *改成只要返回的字段
回复 点赞
aabbabababaa 04月24日
改成
select * from a.num1 where cid
not exists ( select cid from b.num2 union all select cid from c.num3)
为啥报错的?
回复 点赞
aabbabababaa 04月24日
数据量大,用not in查询很慢吧
回复 点赞
chengangcsdn 04月23日
在一个实例中是如果权根有的话 是可以跨库的啊。 select * from a.num1 where cid not in ( select cid from b.num2 union all select cid from c.num3)
回复 点赞
发动态
发帖子
MySQL
创建于2007-09-28

2.4w+

社区成员

5.5w+

社区内容

MySQL相关内容讨论专区
社区公告
暂无公告