3

为以下场景寻找存储标志的最佳方式。

我的应用程序必须在特定的时间间隔内向用户发送一定数量的通知或提醒。我打算编写一个批处理作业来完成它。为了避免重新发送提醒,我想要一些标志。

示例:在用户登录应用程序的第 2、第 5 和第 10 天发送提醒。

提醒的数量将来可能会增加或减少。我想知道存储标志的最佳方法是什么 - 将其存储为 INT 并使用二进制等效项用于内部表示或每个间隔使用一列(如第二天使用一个 TINYINT(1) 是否更好,一个为第五个,依此类推...)

存储空间不是限制,我只是在寻找整个行业的最佳实践。

4

2 回答 2

0

通常,您可以通过使用几列而不是组合列来为自己省去很多未来的麻烦。

但是考虑到您正在向用户发送多个提醒,因此您的数据中存在 1:n 关系。这需要一个新表,特别是因为您已经预计将来会更改提醒的数量。

因此,您应该添加一个新表,其中包含有关已发送提醒的信息(userID、date_of_sending、type_of_reminder)。

于 2014-01-09T09:48:18.110 回答
0

为了获得最大的灵活性,我会向您推荐您自己建议的解决方案。

[...] 将其存储为 INT 并具有用于内部表示的二进制等价物,或为每个间隔使用一列(例如 TINYINT(1) 用于第 2 天,1 用于第 5 天,依此类推...)

您需要问自己的唯一问题是哪个单位(小时/天/周)最适合,以及是否应该可以更频繁地发送通知(例如每 0.5 天)。

于 2014-01-09T09:44:45.617 回答