一个表以年月日分区,以如下函数的计算结果查询,分区不起作用,会全表扫描
SELECT year( from_unixtime(unix_timestamp() - 3600*24*7,'yyyy-MM-dd') ) as year,
month( from_unixtime(unix_timestamp() - 3600*24*7,'yyyy-MM-dd') ) as mon,
day( from_unixtime(unix_timestamp() - 3600*24*7,'yyyy-MM-dd') ) as day
以如下的结果查询似乎是可行的,出结果非常快
SELECT * from xxxx
where (year=year(date_sub(CURRENT_DATE,1))
and mon=month(date_sub(CURRENT_DATE,1))
and day = day(date_sub(CURRENT_DATE,1))
来源:oschina
链接:https://my.oschina.net/fdayok/blog/4695327