如何解决来自链接服务器的另一个表的 INSERT 触发器很慢
我有三张桌子:
(table_a)
有一个 AFTER INSERT 触发器,可将来自链接服务器的另一个表 (table_b)
的行插入本地表 (table_c)
。
每当将批号插入 (table_a)
时,触发器就会从 (table_b)
插入包含与批号相同列值的 (table_c)
行。
这似乎很慢,有时会冻结我服务器上的操作。我发现从本地服务器的表插入似乎运行良好,所以我怀疑问题是因为它是从链接服务器插入造成的。
如何提高插入速度?
解决方法
触发器应始终编写得尽可能快,以避免出现此问题。理想情况下,不应在触发器内执行任何类型的密集操作。当操作涉及联系其他服务器时,这会加倍适用,因为这很容易最终占用实时时间。
改为将操作排队并使用服务或代理在触发器之外处理您的队列。
队列可能看起来像表中的记录,一旦处理就会被标记。记录需要包含足够的信息供服务执行相关操作,这些信息可以包含在存储过程中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。