我打算在一张桌子上放置10-15个插入触发器。每个触发器将对另一个表进行3~插入。这会对我的数据库产生负面影响吗?我认为执行所有触发器所需的速度可能有点慢。
这样做的原因是我们为数据库中的第三方软件记录数据。表格式如下:
DateTime EquipA_Speed EquipA_Power EquipB_Speed EquipB_Power EquipC_Speed EquipC_Power
然后我们想在我们自己的数据库中规范化这些数据。我们的数据库有一个Equipment表和一个SignalType表(信号是功率,速度等)。
我的计划是触发每件设备,使其更简单,更易于维护。插入行时,我需要为Signal表中的每个设备的每个信号添加一行。
SignalID Value EquipmentID SignalTypeID
答案 0 :(得分:2)
您可以轮询宽表,或者使用触发器中的服务代理来通知读取表的解耦进程。
然后,您可以首先在临时表或表变量中首先准备/粉碎数据。 然后启动一个事务,执行写操作,提交。
答案 1 :(得分:0)
这完全取决于触发器的作用。触发器赢了;是性能命中,触发器包含的逻辑将在本文的第二个最后一段中读取更多详细信息:
http://msdn.microsoft.com/en-gb/magazine/cc164047.aspx
您可以做的是设置测试用例。另一件需要注意的事情是日志文件(.ldf)的大小,因为它会根据插入的频率而变得非常大。
你还想要这个吗?