在SQL中维护LastUpdatedDate列的最佳方法是什么?

前端之家收集整理的这篇文章主要介绍了在SQL中维护LastUpdatedDate列的最佳方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个数据库表,其中包含上次更新或插入的时间列.哪个更好:

>触发更新字段.
>让正在执行插入/更新的程序设置该字段.

第一个选项似乎是最简单的,因为我甚至不需要重新编译它,但这并不是一个大问题.除此之外,我很难想出任何理由去做另一个.有什么建议?

解决方法

第一个选项可以更强大,因为数据库将维护该字段.这带来了使用触发器的可能开销.

如果将来有其他应用程序可以通过自己的接口写入此表,我会使用触发器,这样您就不会在其他任何地方重复该逻辑.

如果您的应用程序非常多,或者任何其他应用程序将通过相同的数据层访问数据库,那么我将避免触发器可以诱导并将逻辑直接放入数据层(sql,ORM,存储过程等等)的噩梦. ).

当然,在任何一种情况下,您都必须确保您的时间源(您的应用程序,用户的PC,sql服务器)是准确的.

关于为什么我不喜欢触发器:

也许我把他们称为噩梦是轻率的.像其他一切一样,它们适合适度.如果你将它们用于非常简单的事情,我可以加入.

当触发器代码变得复杂(并且昂贵)时触发器开始引起许多问题.它们是您执行的每个插入/更新/删除查询的隐藏税(取决于触发器的类型).如果该税是可以接受的,那么它们可以成为工作的正确工具.

猜你在找的MsSQL相关文章