多库的表联合查询

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

怎么查询,a.num1 里的订单,是不是都没有出现在b库num2表和c库num3表里?
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paullbm 2021-04-26
  • 打赏
  • 举报
回复
引用 5 楼 aabbabababaa 的回复:
别名怎么取? 原库有几千W数据,查询都是超时
那很明显,你这已经不能用现查的方式了! 得将老数据进行分库处理了!比如是按单双数分拆,还是模3,模5分拆? 当然,这还得你自己另外写个辅助的小程序去分拆你的业务。
aabbabababaa 2021-04-25
  • 打赏
  • 举报
回复
别名怎么取? 原库有几千W数据,查询都是超时
paullbm 2021-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 2021-04-24
  • 打赏
  • 举报
回复
改成
select * from a.num1 where cid
not exists ( select cid from b.num2 union all select cid from c.num3)
为啥报错的?
aabbabababaa 2021-04-24
  • 打赏
  • 举报
回复
数据量大,用not in查询很慢吧
chengangcsdn 2021-04-23
  • 打赏
  • 举报
回复
在一个实例中是如果权根有的话 是可以跨库的啊。 select * from a.num1 where cid not in ( select cid from b.num2 union all select cid from c.num3)

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧