使用sql,php构建调度程序。最有效的方式

时间:2016-09-05 18:57:11

标签: php mysql arrays

我正在创建一个需要特定任务调度的系统。用户可以每周7天,每天24小时挑选。

我提出了一些数据库存储选项,但我不认为其中任何一个是最有效的设计,所以我希望有一些可能更有效的替代方案。

在用户端,我创建了一个带有2个循环的按钮网格来创建日期和时间,并且我为每个设置了$ timeValue =" d"。$ j。&#的唯一值。 34; -t" $ I;

所以d1-t0将于周六午夜d3-t12 =周二中午,依此类推。

所以,在数据库中,我首先要设置ID,日期和时间,但这会导致每个事件可能有168行

然后我尝试了ID,日和时间0-23(一天中每小时的一列)我只是要设置一个布尔值。如果没有选择则为0,如果不选择则为1。

这将导致每个事件7行,但我认为查询该数据可能会很痛苦。

我需要对这些数据执行一些功能。每天,将所选时间的数量列入数组。但我不相信从时间表中选择SELECT *语句,其中time0,= 1或time1 = 1 .... ect将起作用,也不会产生所需的数组。 (次=(0,3,5,6,7 ......)

所以,这不会很好。 我的整个系统还需要知道每次为大量发布选择的每个事件。

"从表中选择*,其中time = $ time(0-23)和day = $ day(1-7)

对数据采取行动......

因此,有了这个要求,我将假设将时间作为数组存储在数据库中可能也不是最有效的方法。

所以我坚持每个事件最多需要168行数据,还是我错过了更好的方法?感谢

更新

为了更清楚地说明我需要完成的事情:

用户将创建活动广告系列,其他用户可以针对各种时间段出价以确定某些事情。在任何时候,这些活动可能会有10到100万个,并且它们一直持续到创建者停止它们为止。广告系列创建者可以定义其广告系列可用的时间段。

在每天的指定时间,系统将查找已安排活动并执行活动的每个广告系列。

因此,第一个要求是知道哪些时段可用于广告系列,然后我需要系统快速识别每小时和每天都有事件的广告系列并自动执行。

0 个答案:

没有答案