我正在创建一个日历应用程序,其中每个日期都有3种状态之一:可用,可用和不可用。试图找出适合这种情况的最佳架构。
一种想法可能是拥有一个带有字段state
的UserDate模型。这样做的问题是数据库每年会有#-of-users- x 365
行 - 对于一个规模适中的应用来说,它似乎会增长得太快。
另一个想法可能是拥有默认状态,并且只有当用户表示他们在该日期的可用性与默认值不同时才创建UserDate对象。这看起来很复杂。
之前有没有人处理过这种情况?有关最佳方法的任何建议吗?
答案 0 :(得分:0)
创建新用户时,您不希望在接下来的50年中插入记录。只有在存在非默认值时才创建UserDate对象。
如果您可能有很多具有相同状态的连续日期,则可以考虑为用户存储一系列日期。例如,如果它们在整个12月都不可用,那么这可以表示为单行。
考虑要从数据库中提取的信息类型,以及每种可能的设计有多难。