为了存储用于审计目的的审计条目,我一直在努力研究如何记录哪些数据发生了变化。
我过去做过两种不同的方法,但我现在正在创建一个新系统并试图找出使用哪种方法:
有一个 AuditEntry 和 AuditEntryChange 表。每个更改的字段值都进入 AuditEntryChange 表,并具有到 AuditEntry 的 FK。
将更改的字段和值以 XML 形式存储在 AuditEntry 表中的单个字段中。
以上哪一项对于保存和查询更有效?(包括使用 XML 时序列化/反序列化的影响)。哪个会占用更少的空间?
此外,对审计表使用 GUID 或 int PK 的最佳做法是什么?我能想到每一个原因。