每个表上有一个日志表与日志列

Gok*_*mir 6 database database-design

我将插入和更新信息记录到每个表

create_date    TIMESTAMP
create_user_id INT
update_date    TIMESTAMP
update_user_id INT
Run Code Online (Sandbox Code Playgroud)

我认为不是将它们放在每个表上,而是只创建一个日志表并在每个表上引用日志表,这样我只能在需要时检索日志信息.我知道这取决于应用程序(我正在开发一个像应用程序这样的小型商业ERP),但你有这种类型的表的经验吗?任何性能,维护问题?你喜欢哪个?谢谢.

log_id         LONG
create_date    TIMESTAMP
create_user_id INT
update_date    TIMESTAMP
update_user_id INT
Run Code Online (Sandbox Code Playgroud)

编辑:我总结了一个解决方案,在每个表上只使用update_date(insert将被视为更新,没有数据删除但只是停用)和update_user_id列.我使用MySQL,在生产环境中会有主服务器和从服务器.如果任何情况发生回溯数据,我将使用从服务器上的复制日志来审计数据更改,因此设计更简单,尽管不容易进行审计.

Fio*_*ite 5

如果写入除了正在进行的任何其他写入之外,单个日志表很容易成为瓶颈.

您也会为某些查询生成其他JOIN.

在我看来,我没有看到单独的表的好处,除了使其余的DB表有点"清洁"