如果某个超市有10000种商品,管理人员需要知道五年之内每一种商品的在每一天的单价请问,如何设计数据库的结构才算是高效??
小弟怎么整都觉得不妥。

解决方案 »

  1.   

    表有产品id,seq,价格,state,生效时间,失效时间等几个字段,产品价格每变更一次seq加1,同时新增一条记录,老的记录的失效时间填上价格变更的时间,老记录的状态置为失效,seq最大的既是目前的价格,查历史价格可以按生效时间和失效时间查询。
    这样的设计缺点是表的数据增长太快,但10000个产品应该问题不大,即使有问题也可以用物化视图解决,产品当前的价格物化视图可以每天夜里0点刷新一次,一年前的可以长一点时间刷新一次