创建一个非常简单的日程安排应用程序
我要求用户告诉我他们在哪天工作,以及在给定的一天中,他们是上午工作、午餐工作还是晚上工作
因此,对于给定的用户,她的数据可以是以下矩阵中的一个或所有点
morning lunch evening
mon
tue
wed
thr
fri
sat
sun 我需要能够快速检索这些信息,以便能够提醒用户是时候去工作了。我会有很多用户。
我不关心具体的日期或时间。只有离散的第1天到第7天和每天的3个插槽。当然,有很多可能的组合。
我正在考虑如何存储这些信息。我想知道位掩码是否合适/可行/“这样做的方式”?您将如何处理此问题?
谢谢!
发布于 2011-11-18 06:41:38
虽然位掩码肯定可以工作(使用7天×3次移位= 21位),但我的经验是它们总是需要修改。也就是说,添加了夜班,或者以其他方式更改了班次。
考虑到这一点,我建议在你的应用程序中加入一些灵活性。将位掩码的概念与定义位所代表内容的表格相结合。这样,您就可以根据需要重新定义和修改。如果添加了班次,只需在定义表中添加一条记录并更新每个员工的掩码即可。
发布于 2011-11-18 06:42:10
回答您的第二个问题:除非您有数百万行,否则位掩码不会带来巨大的性能优势(您的瓶颈仍然是网络I/O),而且可能是过早的优化。也就是说,您将能够将用户的所有选项存储在一个32位整数中。
发布于 2011-11-18 07:18:09
不要为位掩码而烦恼。现在做一些简单的事情(比如标准化的DB模式!),并在以后开始测量问题时针对性能进行优化。
https://stackoverflow.com/questions/8175387
复制相似问题