我正在开发一个多属性预订系统,让我对最佳实践模式设计感到头疼。假设站点托管例如 5000 个属性,其中每个属性都由一个用户维护。每家酒店都有一个预订日历。我当前的实现是一个两表系统,一个表用于可用日期,另一个用于不可用日期,每个表的粒度为 1 天。
property_dates_available (property_id, 日期);
property_dates_booked (property_id, 日期);
但是,我不确定这是否是一个好的解决方案。在另一个问题中,我读到了一个代表两种状态的单表解决方案。但我想知道将它们混合在一起是否是个好主意。此外,是否应该将全年 365 天的预订日历映射到数据库表中,还是只映射房产可供预订的日期?我想到了每年急剧增加的行数。我还想最近在数据库中搜索可用属性,但不确定与仅 5000 * av 相比,查看 5000 * 365 行是否是个坏主意。100 行。
你一般会推荐什么?这方面可以忽略吗?如何最佳实践实现这一点?