mysql分页下表_有关Mysql分表分页问题

我把难题简单归结为,跨多张结构一样的表查数据,怎么去实现分页?

先说下我这边的分表规则吧

这边是一个游戏web后台,现在是对玩家的登陆日志进行分表,分表的规则是按季度分表的,也就是01~03月一张表,04~06月一张表,07~09月一张表,10~12月一张表,

表结构就是这样:

player_login_01_03

player_login_04_06

player_login_07_09 目前这张表没有

player_login_10_12 目前这张表没有

不过现在是07月份,那么实际就是这样:

player_login 这个是原表名

player_login_01_03

player_login_04_06

字段

SQLplayer_id int 用户ID,主键

player_name varchar 用户名

last_login_time datetime 最后登陆时间

.....其他字段

现在表已经分了,不过难题来了,web后台有个功能就是根据player_id和last_login_time来查找玩家信息。

1.时间不夸表的选择:

如果选择的时间段比如是2015-07-01 00:00:00~2015-07-31 23:59:59或者0015-01-01 00:00:00~2015-01-31 23:59:59这样的时间段的话就很好实现分页,因为这个时间段是不需要夸表的,按照现在是7月分就直接对应player_login和player_login_01_03就行了。

2.时间夸多张的选择:

假设选择的时间类似这样的:2015-03-01 00:00:00~2015-04-30 23:59:59

那就需要夸两张表去查询了,有时候可能是更多张表,那用什么方法能实现分页呢?(这个登陆的表一个季度下来数据量很大的,少说每张表也是几百万),我尝试把跨表的数据查询出来用array_slice分,数组过大的时候PHP会提示内存不足的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值