首页 > mysql按日期分表应该怎么查询?

mysql按日期分表应该怎么查询?

数据库设计的是每隔15天分一个表
Like:
log_2014-12-01_2014-12-15
log_2014-12-16_2014-12-31
log_2015-01-01_2015-01-16
log_2015-01-17_2015-02-01
log_2015-02-02_2015-02-17
log_2015-02-18_2015-03-05
log_2015-03-06_2015-03-21
log_2015-03-22_2015-04-06
...

那么用PHP+mysql查询今天的数据(2015-03-31),怎么获取对应的表?
(我知道首先是应该获取今天的日期,但是不知道怎么通过日期来找对应的表...)

感谢各位,问题已解决。每次创建表的时候,写入一个json文件,包含一个值nowtablename,然后PHP执行的时候读取这个json文件中的nowtablename就行了。


start: 2015-03-31 - (2015-03-31 - 2014-12-01) % 15


我觉得可以执行 show tables like 'log_%'; 取得第一张表的开始日期,然后在 PHP 里根据它把当前日期对应的表推算出来。


你建表的时候有一定规则的吧,比如一个建表的类,里面包含了建表的方法,获取当前日期所在表名的方法。调用这个类的方法就知道了。


首先你分表的规则肯定是有一定规则的,你可以根据你建表的规则来获取Log的区间,看insert插入表的规则,应该就是你查询时的规则了

【热门文章】
【热门文章】