数据库设计 – 触发器vs约束的性能注意事项

前端之家收集整理的这篇文章主要介绍了数据库设计 – 触发器vs约束的性能注意事项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出我是否应该在我的数据库内的触发器或约束中使用业务关键逻辑.
到目前为止,我已经在触发器中添加了逻辑,因为它可以控制下一步会发生什么,意味着我可以提供自定义用户消息,而不是可能会混淆用户错误.

使用约束超过触发器有什么明显的性能增益,以及确定使用哪些方法的最佳做法是什么?

解决方法

约束双手!

>使用约束条件指定关系原则,即关于数据的事实.除非某些事实发生变化(即新的要求),否则您将永远不需要更改约束条件.
>使用触发器指定如何处理数据(插入,更新等).这是一种“非关系”的做事方式.

为了更好地解释自己的一个比喻:编写SQL查询的正确方法是指定“你想要什么”,而不是“如何获得” – 让RDBMS找出最好的方式为您做.同样适用于这种情况:如果您使用触发器,您必须牢记执行顺序,级联等各种各样的事情.如果可能,让sql为您做限制.

这并不是说触发器没有用处.他们这样做:有时你不能使用约束来指定一些关于你的数据的事实.这是非常罕见的.如果它发生在你身上,那么模式可能有一些问题.

猜你在找的MsSQL相关文章