简体   繁体   English

如何加快触发速度

[英]how to speed up trigger

I have 800 records in a table, I used trigger to update more than 20 fields from 4 tables but very slow takes up to 25 sec to update changes, i know computed fields are faster but i cant use computed fields to get/ update fields data from another table. 我在表中有800条记录,我使用触发器来更新4个表中的20多个字段但是非常慢需要25秒更新更改,我知道计算字段更快但我不能使用计算字段来获取/更新字段数据从另一张桌子。 what other methods can i use? 我可以使用其他什么方法?

below i tried to show is how i am trying to updating field 下面我试图表明我是如何尝试更新字段

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

what other options i can use to update field data from another table? 我可以使用哪些其他选项来更新另一个表中的字段数据?

请尝试在表上创建索引,这可能会增加插入和删除的速度

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM