在SQL中维护LastUpdatedDate列的最佳方法是什么?
发布时间:2020-12-12 06:45:18 所属栏目:MsSql教程 来源:网络整理
导读:假设我有一个数据库表,其中包含上次更新或插入的时间列.哪个更好: 触发更新字段. 让正在执行插入/更新的程序设置该字段. 第一个选项似乎是最简单的,因为我甚至不需要重新编译它,但这并不是一个大问题.除此之外,我很难想出任何理由去做另一个.有什么建议? 解
假设我有一个数据库表,其中包含上次更新或插入的时间列.哪个更好:
>触发更新字段. 第一个选项似乎是最简单的,因为我甚至不需要重新编译它,但这并不是一个大问题.除此之外,我很难想出任何理由去做另一个.有什么建议? 解决方法第一个选项可以更强大,因为数据库将维护该字段.这带来了使用触发器的可能开销.如果将来有其他应用程序可以通过自己的接口写入此表,我会使用触发器,这样您就不会在其他任何地方重复该逻辑. 如果您的应用程序非常多,或者任何其他应用程序将通过相同的数据层访问数据库,那么我将避免触发器可以诱导并将逻辑直接放入数据层(SQL,ORM,存储过程等等)的噩梦. ). 当然,在任何一种情况下,您都必须确保您的时间源(您的应用程序,用户的PC,SQL服务器)是准确的. 关于为什么我不喜欢触发器: 也许我把他们称为噩梦是轻率的.像其他一切一样,它们适合适度.如果你将它们用于非常简单的事情,我可以加入. 当触发器代码变得复杂(并且昂贵)时触发器开始引起许多问题.它们是您执行的每个插入/更新/删除查询的隐藏税(取决于触发器的类型).如果该税是可以接受的,那么它们可以成为工作的正确工具. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |