Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
最佳实践SQL日志_Sql_Join_Logging - Fatal编程技术网

最佳实践SQL日志

最佳实践SQL日志,sql,join,logging,Sql,Join,Logging,我有一个处理用户、项目创建、编辑和删除的应用程序 记录日志的最佳方法是什么?由于每次编辑或删除一个项目时我都会记录日志,因此日志表将快速增长 我有两种解决方案: 1. 在这个解决方案中,我将在各自的表中记录项目的创建,但在单独的日志表中记录所有其他操作。专业是,我不必加入获取信息 ItemTable:ID、ItemSerialNumber、ItemCreatedBy、ItemCreatedTime 日志表:ID,Action,ItemRefID,UserID,Time 2. 在这个解决方案中,我

我有一个处理用户、项目创建、编辑和删除的应用程序

记录日志的最佳方法是什么?由于每次编辑或删除一个项目时我都会记录日志,因此日志表将快速增长

我有两种解决方案:

1. 在这个解决方案中,我将在各自的表中记录项目的创建,但在单独的日志表中记录所有其他操作。专业是,我不必加入获取信息

ItemTable:ID、ItemSerialNumber、ItemCreatedBy、ItemCreatedTime

日志表:ID,Action,ItemRefID,UserID,Time

2. 在这个解决方案中,我将在LogTable中记录所有内容(这需要在我获得每个项目的信息时加入)

ItemTable:ID,ItemSerialNumber


日志表:ID、Action、ItemRefID、UserID、Time

@CodingDefined谢谢你的评论,但我已经研究过触发器了。问题是它们是基于数据库中的用户。但是我有一个SQL用户,应用程序使用该用户访问数据库。因此,当有一个用户时,该用户的所有活动都将被记录,现在您可以相应地进行自定义。@CodingDefined,但是我如何才能区分应用程序中的不同用户?我看到这一点的唯一方法是创建更多的表来记录它。然后触发器就不再有意义了。或者我遗漏了什么?为什么你不能同时发送一个用户名,当你记录用户的活动或者说用户id时,这对我区分两个用户是有意义的