Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据库事务的SQL触发器与Windows服务_C#_Sql Server_Triggers_Database Performance - Fatal编程技术网

C# 数据库事务的SQL触发器与Windows服务

C# 数据库事务的SQL触发器与Windows服务,c#,sql-server,triggers,database-performance,C#,Sql Server,Triggers,Database Performance,上下文 我通过多线程windows服务在数据库表(比如说rawData)中插入一个十六进制字符串(这个windows服务可以以100条记录/分钟的速度大量插入rawData,并且所有线程可能有不同的时间间隔插入数据),然后我需要解析和转换十六进制字符串,并将值插入到其他表中(比如parsedData1、parsedData2等)取决于各种因素 无论何时将记录插入表中,我的服务或触发器都会立即启动 问题 这将是性能有效的触发器或使用C#或任何其他方式的Windows服务 考虑到windows服务

上下文

我通过多线程windows服务在数据库表(比如说rawData)中插入一个十六进制字符串(这个windows服务可以以100条记录/分钟的速度大量插入rawData,并且所有线程可能有不同的时间间隔插入数据),然后我需要解析和转换十六进制字符串,并将值插入到其他表中(比如parsedData1、parsedData2等)取决于各种因素

无论何时将记录插入表中,我的服务或触发器都会立即启动

问题

  • 这将是性能有效的触发器或使用C#或任何其他方式的Windows服务
  • 考虑到windows服务使用C#,如果表中存在记录,我如何每次检查数据库?我是否需要一个xx毫秒的计时器并在间隔后检查

感谢您的帮助。

如果记录不仅由您的服务插入到数据库中,而且您的服务没有关于插入数据的通知,那么最好使用触发器,因为每次检查数据库都会增加开销。但是如果只有您的服务插入数据,则可以提高性能-在这种情况下使用批量插入。

有多个服务器向表中插入值,并且没有可能的机制通知服务。您不认为创建触发器会引入锁,从而影响性能吗?