由于插入动作要检查关键字是否重复,不可以并行操作的。
数据库并发插入,因为主键的原因,做Insert会自动会加上排他锁,所以多线程并发,那是徒劳的,应该把N条数据放在一个结果集里执行写入,比如把要写入数据的主键提取出来,做一个charindex检索判断,有的就删除,然后一并写入,类似传入SQL一个LIST结果集,而不是一条条的写。传入有两种方式,一个是XML字符串解析成表,二是传入自定义表类型,这样就是一条SQL语句,写入的结果集有多大,就能同时写入多少条!
Thread.Sleep(5);//触发操作系统立刻重新进行一次CPU竞争