很简单,每个月一张表,比如叫price_200512,price_200511这样的名字。每个表数据格式一样。为了数据准确性,酒店表里面还要增加一个字段,表明是什么时候的房型。这样才方便和price关联。 要查询以前的价格就用 select * from price_200512 p inner join s_hotel on s.hotel.r_id=p.r_id union all select * from price_200511 p inner join s_hotel on s.hotel.r_id=p.r_id .....只要你不是经常会查询到7/8个月以前的数据,SQL Server处理这种数据还是很快的。不用考虑效率问题。
日期范围 价格 房型ID
要查询以前的价格就用
select * from price_200512 p inner join s_hotel on s.hotel.r_id=p.r_id
union all
select * from price_200511 p inner join s_hotel on s.hotel.r_id=p.r_id
.....只要你不是经常会查询到7/8个月以前的数据,SQL Server处理这种数据还是很快的。不用考虑效率问题。
不过总数据量还是没有变化...方便一下操作
两到三个月一张表我觉得还可行的哪位还有更好的想法?
别太贪心了。为了效率,往往要浪费空间的。这个办法已经很节约了