gpt4 book ai didi

java - mySQL中触发器和手动插入的ram进程有什么不同

转载 作者:可可西里 更新时间:2023-11-01 08:26:19 24 4
gpt4 key购买 nike

对于事务数据库,哪种方式更适合在表中保存数据访问日志?使用触发器或在表中使用手动插入?手动就是写sqlQuery把程序的日志插入表中。

最佳答案

这种审计主要是通过触发器完成的。主要原因是:

  • 开发人员不会忘记调用它,因为如果需要触发单独的插入,就会发生这种情况
  • 一个简单的错误不会导致第二次插入失败并使之前的操作未经审计
  • 不能故意遗漏审计,它实际上是由 DB 的所有者控制的
  • 第二次插入所需的额外网络往返+查询解析可不是小事。对于基本操作,这些的实际时间成本很重要。

另一方面,此解决方案的唯一缺点是现在在数据库端的额外逻辑。默认情况下,开发人员倾向于在数据库中保留尽可能少的逻辑(这通常是个好主意),但在这种情况下,我认为这不是一个有效的论点。这不是业务逻辑,它是您的数据库的有机组成部分。 “谁访问了什么数据”的数据仍然是数据,属于数据库。

关于java - mySQL中触发器和手动插入的ram进程有什么不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35251457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com