Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储状态标志的最佳方法_Php_Mysql_Database Design_Flags_Enum Flags - Fatal编程技术网

Php 存储状态标志的最佳方法

Php 存储状态标志的最佳方法,php,mysql,database-design,flags,enum-flags,Php,Mysql,Database Design,Flags,Enum Flags,正在寻找存储以下场景的标志的最佳方法 我的应用程序必须在特定的时间间隔内向用户发送一定数量的通知或提醒。我计划编写一个批处理作业来完成此任务。为了避免重新发送提醒,我想要一些标志 示例案例:在用户登录应用程序的第2天、第5天和第10天发送提醒 提醒的数量将来可能会增加或减少。我想知道存储标志的最佳方式是什么——最好将其存储为INT,并将二进制等价物用于内部表示,还是为每个间隔使用一列(例如第2天使用一个TINYINT(1),第5天使用一个TINYINT(1),等等……) 存储空间不是一个限制,我

正在寻找存储以下场景的标志的最佳方法

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

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

提醒的数量将来可能会增加或减少。我想知道存储标志的最佳方式是什么——最好将其存储为INT,并将二进制等价物用于内部表示,还是为每个间隔使用一列(例如第2天使用一个TINYINT(1),第5天使用一个TINYINT(1),等等……)


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

要获得最大限度的灵活性,我建议您使用自己建议的解决方案

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


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

一般来说,如果使用多个列,而不是组合一个列,你将避免未来的许多麻烦

<>但是考虑到你向用户发送了几个提醒,因此你的数据中有1个N的关系。这需要一个新的表,特别是因为您已经预期在将来更改提醒的数量


因此,您应该添加一个新表,其中包含有关发送提醒的信息(用户ID、发送日期、键入提醒)。

只有一个标志列:)