我为一家拥有大约 150 家酒店的旅行社开发了一个使用 php 和 mysql 管理酒店价格、分配和预订的系统。由于酒店房价因日期而异,表设计大致如下
hotel_tbl{
hotel_id,
hotel_name
}
room_type_tbl{
room_type_id,
room_type_name,
hotel_id
}
room_rates_tbl{
room_type_id,
**from_date,
**till_date,
meal_basis,//(Breakfast,halfboard,fullboard) BB,HB,FB
sleeps,//(Single,Double,Triple) SGL,DBL,TPL
currency,
room_rate
}
由于酒店价格随日期波动,当我查询表格以进行复杂的旅游套餐计算(涉及多家酒店)时,我注意到性能比预期的要慢。我的问题是,如果我在每个日期都有一个价格行而不是使用日期范围(我的系统包含大约 150 家酒店),您认为性能会提高吗,如下所示:
room_rates_tbl { // A row for each day as opposed to using a date range
room_type_id,
**date,
meal_basis,//(Breakfast,halfboard,fullboard) BB,HB,FB
sleeps,//(Single,Double,Triple) SGL,DBL,TPL
currency,
room_rate}
希望问题足够清楚...
我已经更新了我的问题以使其更清楚。房间类型例如是“标准房”或“豪华房”或“家庭房”,睡眠将包含单人房、双人房等。我已从问题中删除了 market_type,因为它与市场组无关(例如国家)的费率是 targarted。我的问题是在查询费率表时,存储日期费率是否比使用日期范围更有效。