数据库事件的优缺点

时间:2009-10-03 09:37:46

标签: database-design business-logic

我正在考虑重写部分应用程序的数据模型更新方法,以包括对来自数据库的事件进行注册的支持。有什么理由说这可能是一个坏主意吗?我应该限制自己接收CRUD操作触发的事件,还是可以围绕事件通知编写更多业务逻辑?什么可能是潜在的陷阱?

2 个答案:

答案 0 :(得分:2)

绝对使用异步方法。如果您使用的是Microsoft SQL平台,请查看

的组合

1)更改跟踪可用SQL版本> 2008年:http://msdn.microsoft.com/en-us/library/cc280462.aspx

2)SQL Service Broker,您可以使用注册事件。 (1.实际上使用2.引擎盖IIRC):http://msdn.microsoft.com/en-us/library/ms345108(SQL.90).aspx

如果你必须恢复到触发器肯定保持低触发器的影响。例如,创建您自己的更改日志并从其他位置处理它。不要编写更新,并在与更改本身相同的触发器中找出信息的对象。它会大大减慢您的查询速度。

根据您使用的数据层技术,还有一些选项:NHibernate具有拦截器的概念,在企业框架方面也是如此。但它们不会在数据库中运行,这有利有弊。

HTH 亚历

答案 1 :(得分:0)

听起来您正在考虑对业务逻辑中的数据库事件做出反应。如果是这样,这确实是一个非常糟糕的主意,几乎忽略了通常被认为是良好的软件设计(分层,分离关注等)的所有内容......