返回信息流从服务器1上的数据库1中的一张表中取出uid,大概30万条数据,拿着所有uid去服务器2的数据库2中的一张表(有uid字段)上去查所有这些uid的资源总数,大概几亿条。
可不可以这样?
先查出所有的uid为uids
然后每一百个用逗号拼起来
select count(*) from table where uid in ()
然后把所有的加起来
这样的做法会不会太慢了?可以怎么做快一点?
这是一条镜像帖。来源:北邮人论坛 / database / #10654同步于 2017/12/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
两个服务器上的两个数据库一起查询
lattewen
2017/12/4镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
个人觉得最快的办法是把库1导入到服务器2中,然后一个JOIN完事,毕竟300k真不大
至于你说的这种,如果是写个脚本然后凑字符串拼sql,个人觉得性能上跟跑300k次where uid = 'xxx'差距不大,甚至不如后者
其实就算是你这种做法,跑起来也不会太久
昨天跑完了 确实也没有慢到令人发指 第一次做这种事情 学习了[ema3]
【 在 Nroskill (听说名字太长躲在大树后面会被人抓住吃掉) 的大作中提到: 】
: 个人觉得最快的办法是把库1导入到服务器2中,然后一个JOIN完事,毕竟300k真不大
: 至于你说的这种,如果是写个脚本然后凑字符串拼sql,个人觉得性能上跟跑300k次where uid = 'xxx'差距不大,甚至不如后者
: 其实就算是你这种做法,跑起来也不会太久
连表查询会快一些是吗?
【 在 tangzehang (OT) 的大作中提到: 】
: 提供个思路,不知道可行不可行.
: 把小数据的服务器数据库通过主从同步到多的那台服务器上.然后再进行连表查询.