MySQL   发布时间:2022-05-15  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-使用CodeIgniter记录数据库中的更改的合适方法 大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我想为我的小型CodeIgniter应用程序创建一个简单的审核系统.这样就可以在编辑表条目之前为它创建快照.我想到的一种方法是创建一个news_audit表,该表将复制news表中的所有列.它还将为每个更改创建新记录,并添加日期添加列.您对将此类功能构建到php Web应用程序中有何见解?

最佳答案
在决定使用哪种解决方案之前,需要虑以下几点:

如果您的表很大(或可能会变大),则您的审核跟踪需要按照您的描述放在单独的表中,否则性能会受到影响.

如果您需要(可能)修改(添加新条目除外)的审核,则它仅需要对应用程序具有INSERT权限(并且铸铁需要在专用的日志服务器上…)

我会避免在同一张表中创建审计记录,因为这可能会使另一个开发人员感到困惑(他们可能没有意识到他们需要过滤掉没有日期的旧记录),并且会使表中的审计行变得混乱,这将迫使数据库缓存超过所需数量的磁盘块(==性能成本).另外,如果您的数据库未索引NULLS,则正确地对此进行索引也可能是一个问题.如果选择全部时间戳,则查询最新版本将涉及一个子查询.

如果数据库支持,解决此问题的最简单方法是在新闻表上创建updatE trigGER,将旧值复制到单独的审核表中,该审核表仅需要INSERT权限.这样,逻辑就内置在数据库中了,因此您的应用程序不必关心它,它们只是更新数据,而db负责保留更改日志.触发器的主体将只是一个INSERT语句,因此如果您之前未编写过该语句,则应该花很长时间.

如果我知道您正在使用哪个数据库,则可以发布示例…

大佬总结

以上是大佬教程为你收集整理的php-使用CodeIgniter记录数据库中的更改的合适方法 全部内容,希望文章能够帮你解决php-使用CodeIgniter记录数据库中的更改的合适方法 所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: