【发布时间】:2014-02-19 02:05:06
【问题描述】:
我有一个事件表,其中包含它们在数据库中发生的日期。所以很自然,当一个事件完成后,它不需要显示在网站上。目前,我在表中有一个“活动”标志。
我想知道处理已经过去的事件的最佳方法是什么。我认为最好的方法是在 phpmyadmin 中创建一个事件,以便在凌晨 1 点,所有超过其日期的事件都将其“活动”标志设置为 0,但我听说这不是最好的方法它,因为它有更多的开销和不必要的 i/o。
另一种选择是在 db 查询中处理它。从 date > date AND active = 1 的事件中选择 *。
两者都有效,但是有一个“活动”标记的事件,实际上并不是活动的,这让我感到沮丧。
处理此问题的最佳方法是什么,以及是否是 phpmyadmin 中的触发器/事件。我该怎么做?
【问题讨论】:
-
为什么要打扰活动标志?为什么不单独过滤日期?
-
我将活动标志用于其他用途,但也可以将其用于触发器。我的问题是,哪个会更好,为什么。按日期过滤或使用触发器更新活动标志。
标签: mysql sql triggers phpmyadmin