我在表中有800条记录,我用触发器从4个表中更新了20多个字段,但非常慢需要25秒来更新更改,我知道计算字段更快,但我无法使用计算字段来从另一个表中获取/更新字段数据。我可以使用哪些其他方法?如何加速触发器
下面我想表明的是我是多么想更新场
create TRIGGER [dbo].[WO-WHLINFO]
ON [dbo].[WORKORDERS]
AFTER INSERT,UPDATE
AS
BEGIN IF TRIGGER_NESTLEVEL() > 1
RETURN UPDATE T1
SET [C/S ANGLE2]=T2.[C/S ANGLE2],
[BH SIZE2]=T2.[BH SIZE2],
[COLOR]=T2.[COLOR],
[MRP Wheel]=T2.[STOCK NO],
[WO PN]=T2.[WHL-ASSY LOOKUP]
FROM WORKORDERS T1 CROSS APPLY (SELECT TOP 1 *
FROM [WHl] T2
WHERE [WHEEL PN 1]=T2.[WHL-ASSY LOOKUP] OR
[WHEEL PN 1-S]= T2.[STOCK NO]) T2
END
什么其他选择,我可以用它来从另一个表更新现场数据?
看看这里:http://stackoverflow.com/questions/42780910/sql-taking-too-much-time - 用于执行的-一个查询/ 42781448#42781448。看起来你有一个缺失索引 –
谢谢卡洛斯,但我可以使用数据库引擎优化顾问。因为我有快递版 – Joe
大多数触发器至少有一个对“插入”或“删除”行的引用。 – HABO