由于业务需要,系统必须保存所有记录的改动前的数据。
例如,修改或删除一条记录,必须有保存这条记录修改前或删除前的记录。
当前,系统使用的方案是, 创建一个历史表,用 before_字段名,after_字段名,更改类型。来保存所有的更改记录。
当有数据变化通过触发器向历史表插入记录。现在问题是,如果一次性处理大量数据,比如 删除一些数据,但这些记录关联了很多其他数据,也必须一并删除。
这时候,不仅要删除这些记录 还得向历史表插上新的数据。存储过程 导致 MS SQL Server 内存用量急剧增加,用时很长。请问对这种业务需要,还有没更好的设计方案!或者对这个方案,如何优化下。
例如,修改或删除一条记录,必须有保存这条记录修改前或删除前的记录。
当前,系统使用的方案是, 创建一个历史表,用 before_字段名,after_字段名,更改类型。来保存所有的更改记录。
当有数据变化通过触发器向历史表插入记录。现在问题是,如果一次性处理大量数据,比如 删除一些数据,但这些记录关联了很多其他数据,也必须一并删除。
这时候,不仅要删除这些记录 还得向历史表插上新的数据。存储过程 导致 MS SQL Server 内存用量急剧增加,用时很长。请问对这种业务需要,还有没更好的设计方案!或者对这个方案,如何优化下。
http://www.cnblogs.com/chenxizhang/archive/2009/04/28/1445297.html