C# 数据库事务的SQL触发器与Windows服务
上下文 我通过多线程windows服务在数据库表(比如说rawData)中插入一个十六进制字符串(这个windows服务可以以100条记录/分钟的速度大量插入rawData,并且所有线程可能有不同的时间间隔插入数据),然后我需要解析和转换十六进制字符串,并将值插入到其他表中(比如parsedData1、parsedData2等)取决于各种因素 无论何时将记录插入表中,我的服务或触发器都会立即启动 问题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服务
- 这将是性能有效的触发器或使用C#或任何其他方式的Windows服务
- 考虑到windows服务使用C#,如果表中存在记录,我如何每次检查数据库?我是否需要一个xx毫秒的计时器并在间隔后检查
感谢您的帮助。如果记录不仅由您的服务插入到数据库中,而且您的服务没有关于插入数据的通知,那么最好使用触发器,因为每次检查数据库都会增加开销。但是如果只有您的服务插入数据,则可以提高性能-在这种情况下使用批量插入。有多个服务器向表中插入值,并且没有可能的机制通知服务。您不认为创建触发器会引入锁,从而影响性能吗?