In addition to soft hits, another solution is to use audit tables. I recently asked that they were at dba.stackexchange.com.
Audit tables are usually used to record actions, such as inserting / updating / deleting, performed in the second table, it is possible to save old and new values, time, etc.
They can be implemented using triggers in a simple way.
Pros:
- "unused" data is in a separate table
- easy to rotate the detail level knob from fine to coarse
- it may be more efficient in size, depending on the exact implementation
Minuses:
- since the data is in a separate table, this can lead to key conflicts in case the row has been "restored"
- it may be less efficient in size, depending on the exact implementation
Matt fenwick
source share