求解:100多万条手机记录表中,给不重复的手机发送短信的问题

手机记录表有100万多条数据,其中手机号有重复,并且手机记录表的数据还在不停的增加。

现要求做一个功能,可以给每个用户发一条促销短信(一个手机号只能发一条)。

求比较好的解决思路。

select distinct(t.mobile) from mytable as t 查出来不重复的手机号码,然后再发

那你这样,你在用sql去除重复之后,放入临时表,以后每次添加的时候,比对一下临时表

distinct。。。100万条记录。。其实是小意思啦 嘿嘿
其他办法都不好好

先试试查找的效率如何呗,也可以查询出来放在缓存当中呗,然后再定期更新缓存即可,如果使用了Ehcache或其它缓存框架,定期更新这个事情只要配置适当的参数即可实现,具体做法则视缓存框架的不同而不同。

distinct

手机记录表中重复的手机号可不可以去掉?找个晚上跑个SQL去掉重复数据,以后再插入的时候先校验这个手机号存不存在,再执行插入或更新操作。