如何有效地存储日程安排?

时间:2012-12-05 04:09:29

标签: database algorithm scheduler

例如我有:

  1. 开始日期(1列)
  2. 结束日期(1列)
  3. 平日:周一,周二,周三,周四,周五,周日,太阳(1栏)
  4. 如何定义周,以便将上述数据存储在数据库的3个字段中?

1 个答案:

答案 0 :(得分:1)

从处理能力来看,不建议将这3个字段存储在单个单元格中。 在写入和读取表时,您将不得不经历不必要的开销来编码和解码数据,还需要执行其他数据类型的转换!

你可以试试像: 地点:周一,周二和周四124。但如上所述,这不是正确的方法..

理想情况下,每个项目有3列,并以多种格式存储工作日:

  1. <weekday_list_to_run_the _scheduled_tasks>:我们将Monday, Tuesday and Thursday编码为124的位置。需要最多的处理。
  2. 古老的和平:
    假设我们将<weekday_list_to_run_the _scheduled_tasks> = Monday-X-X-Thursday-Fri-X-Sunday存储为1001101。 然后通过7个AND运算我们找到了它的日子 时间表应该运行。
  3. EG。

    IF (<weekday_list_to_run_the _scheduled_tasks> AND 1000000) == 1 THEN 
         //Monday is set. 
    END IF