我正在使用此外联网旅游网站,该网站允许用户更新有关其属性的信息。该网站并不太复杂,但是使这个问题非常困难的一件事是:
客户希望用户更新他们的信息,但此类信息应保留“待审批”状态,并且外联网管理员实际批准更改。如果获得批准,这个请求应该在某种历史上得到满足。
我试图找出解决方案并最终找到可能的解决方案 - 保留新表中的更改记录(requestID,requestDate,requesttype,request(将asp.net datatable存储为xml)) - 将current_row重复记录为new_row并在此表中添加requestID列(这可能会大大增加此原始表的大小) - 复制原始表的结构,我们只保留待处理的请求(这也可能导致大量的表,具体取决于不同的请求类型和原始表的数量)
感谢有关我的想法的任何评论。
答案 0 :(得分:0)
您应该通过分隔新表来归档数据,这样可以提高查询性能。从性能的角度来看,如果它将是过时的数据(它意味着在接纳用户请求并保留其历史记录之后),这种数据从未或很少使用,查询执行可能非常耗时。这是因为查询还会扫描这个过时的数据。 所以你应该有单独的表来保存历史记录。所以我将继续“保留新表中的变化记录”
分区实施。 Have a look at this article for more information about Partitioning
答案 1 :(得分:0)
除了添加待定/已批准值的状态列之外,您还需要什么?