业务场景:
现有两个数据库:
数据库A中的games表记录着游戏成绩的数据
数据库B中的members表记录着用户详细的信息
问题是什么呢?
首先数据库A的games表数据并不完整(历史遗留问题),比如有的记录没有用户id,用户昵称,没有排行,没有分数等等等等......,
数据不完整怎么解决:
业务决定了我可以通过记录中的卡号去数据库B中的members表查询出此卡号对应的用户信息(可能几千条,可能几万,十几万条的数据量),然后再更新到数据库A中的games表.
试过的方法
1.第一次直接用普通的循环去操作 (性能捉急 不忍直视) pass.....
2.查询出有多少条需要处理的数据(游戏记录信息不完整的条数),然后除以每个线程最大处理的条数,启动相应的线程数,时间是缩短了,但是一万不到的数据量,却跑了15分钟。。。。。
note:服务器在新加坡,服务器用的也是aws的micro服务器性能不咋地 (初学python 不知道多线程用的合不合理)
目前的限制
脚本是跑在aws的lambda中(一种函数计算)最大超时不超过15分钟,内存限制也小.所以也不是说线程越大越好,线程越多,请求服务器的sql链接就越多,服务器cpu也飙的厉害
最后想说的是各位大佬有无合适的解决方案,谢谢!