为了满足你后面的条件,你只能每天记录一个价格!
剩下的只是提高你的查询效率问题!

解决方案 »

  1.   

    这样一年下来数据不是几十G ?  那样不行呀
      

  2.   

    可以将价格表进行分区,你也不会经常要查三个月或者半年前的价格数据吧?
      

  3.   

    将价格表分区,我只能想到这个了,这还要价格不是经常变了
    日期范围     价格      房型ID
      

  4.   

    价格要一直保存 表分区?怎么样用的?可以说明白一点么?
      

  5.   

    很简单,每个月一张表,比如叫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处理这种数据还是很快的。不用考虑效率问题。
      

  6.   

    不错的想法
       不过总数据量还是没有变化...方便一下操作
       两到三个月一张表我觉得还可行的哪位还有更好的想法?
      

  7.   

    总数据量你还想省?
    别太贪心了。为了效率,往往要浪费空间的。这个办法已经很节约了
      

  8.   

    那就结帐吧有点舍不得我的分