我现在遇到一个实际工作中的问题。由于业务需要,需要将探测数据按分钟存储到数据库中,但是由于数据越来越多,磁盘空间已经吃不消了,因此决定编写一个定期处理的程序,将前一周的数据进行汇总。删除,只在库中留一条汇总后的记录。每隔一周运行一次该程序。目前遇到的困难是如何对时间进行比较,准确定位基于当前时间一周前的数据。时间是按照‘YYYY-MM-DD HH24:MI:SS’格式存储的。请各位高人指教,非常感谢!
调试欢乐多
假设要删2009-12-10以前(含)的数据
DELETE FROM ... WHERE xxx < '2009-12-11'
或者
where 时间字段 < CURDATE() - interval 7 day
假设因为系统繁忙、或者系统重启等原因,可能会造成实际启动时间晚于任务应当启动的时间,如果隔天的话,会出现数据删除错误。