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

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

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

我觉得可以执行

show tables like 'log_%';

取得第一张表的开始日期,然后在 PHP 里根据它把当前日期对应的表推算出来。


版权声明:本文为weixin_35788914原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。