有一个游戏库,有用户表、充值表,后台是有查询分页的,加入现在用户表数量已经超过了3kw条,充值超过了500w条,求大虾们给个分表的方案。
mysql
用户表(users) id 主键 user_id 用户账号 user_pwd 用户密码 reg_time 注册时间 last-time 最后登陆时间 ........ 其他字段
mysql
充值表(payment) id 主键 order_id 订单号 user_id 对应充值的玩家ID pay_time 充值时间 ........ 其他字段
mysql已经提供了分区功能。
http://www.mysql.com/products/enterprise/partitioning.html
根据你查表时所 where 的字段特点来分就是了,比如数值连续的int字段就可以按范围来分,具体要参考文档。(请看清版本哦)
http://dev.mysql.com/doc/refman/5.5/en/partitioning.html
信息有限,主要还是具体看你的具体场景,就你说的信息结合一般的情况:
对用户表,可以考虑把只读的放一张,这样user表做到只有insert,没有update。像密码这样会update的字段就都做一个一对一的附表。充值表如果你结构复杂也可以这样,如果简单的话也无所谓了,几百万应该还可以。节省程序员的时间也很重要。