MySQL用户表数据统计,请大家给出最好,可行的方案。


MySQL用户表里有90万条记录,每个记录只有用户的注册IP地址,现在想根据注册省份,统计出每个省份有多少注册用户,请给出最好,可行的方案?

数据库 php mysql mysql优化

醉後D魔王桑 10 years, 2 months ago

1.通过IP获取省份信息: http://www.ipip.net/api.html
2.90W条数据,给省份加个索引,然后定期统计一下就好了,这种统计数据没有必要经常跑。
3.等数据更大了,可以考虑把每天新注册的用户数单独记在缓存里面,用老的总数+每天新增的数就OK。
4.等数据更大更大更大了……(等你到了那个量级再说吧)

PS:这个没有办法,IP这个东西比较混乱,可以自己统计一下哪个IP段是同一省份的,这样可以减少查询API。你想按照省份查,省份这个字段不能省略的。还有,你们改改注册,注册时就记录一下省份,这个方式是使用IP还是用户自己填由你们自己决定。对了,高春辉的那个ipip.net不喜欢别人在上面跑数据。我上次在微博上看他就为这事恼火了。

莫亚麻莫小冉 answered 10 years, 2 months ago

Your Answer