首页 > 解决方案 > 触发大量数据

问题描述

我有一张随时记录大量信息的表,例如每秒 100 行。

完成每一行后,必须执行某些操作。也就是说,这些行中的一些应该被复制到另一个表中。

现在有几个问题:

  1. 我可以使用触发器来执行此操作吗?考虑到大量的条目行

  2. 如果检查多个条件以复制到表中,触发器可以响应吗?

附加说明:添加到此表的记录是指纹记录器添加的

标签: sqlsql-servertriggers

解决方案


首先,检查这些:

1.参考定义你的触发器,它可以在插入或更新等中调用,不需要对所有操作执行(不是所有插入都需要)

2.您可以通过更改您的应用程序的一些规则来忘记您的业务

  1. 每次改动都需要注意(防止引入bug)

4....

我强烈建议您不要定义触发器,除非您没有任何其他选择。

如果您有一个应用程序,您可以在其中完成并放置业务(例如,在您的应用程序中创建一个线程来检查和执行您的业务)

你可以有一个 Windows 服务来为你做这件事

如果您只有数据库访问权限,您可以在其中定义一个工作来为您完成(不推荐)

最后,如果您决定使用多线程来避免阻塞(根据您的问题,第二个线程仅用于从原始表中读取数据并插入到另一个表中),您可以在数据库中打开 is_read_committed_snapshot_on


推荐阅读