我正在尝试记录数据库中nvarchar(max)字段中使用的每个单词,每个单词都将成为一个数据行,当我在一个存储过程中执行此操作时,需要花费大量时间。因此,我创建了另一个存储过程,它将所有单词作为新数据行添加到另一个表中,但这需要很长时间,我不希望用户等待此操作。我的解决方案是在一个单独的进程(system.thread)中运行耗时的insert into query,但现在我考虑使用触发器。如果我触发触发器中所有单词的插入,用户是否仍会等待所有插入查询,包括触发器?或
我继承了一个SQL Server 2008数据库,调用应用程序可以通过存储过程访问该数据库。
数据库中的每个表都有一个影子审核表,其中记录了对其执行的插入/更新/删除操作。填充审计表的性能测试表明,使用OUTPUT子句插入审计记录比使用触发器快20%左右,因此这已经在存储过程中实现。但是,由于这种设计不能通过直接针对表发出的DML语句来跟踪对表所做的直接更改,因此还实现了触发器,这些触发器使用@@NESTLEVEL的值来确定是否运行触发器</
我们在一个表上实现了6-7个触发器,其中有4个update触发器。由于数据操作和条件的原因,这4个触发器都需要长时间的处理。但是,每当触发器执行时,网站上的所有页面都会停止响应,并且对于来自不同系统的其他用户也会挂起。即使我们在SQL Server Management Studio中对触发器存储表执行update语句,它也会挂起。我们可以通过将此触发器代码转移到存储过程中并在表的update语句之后调用此存储<em