我前两天刚遇到个类似的问题,表a结构如下
id bigint primary key identity,url varchar(500) not null,taskid varchar(50),stateCode int not null,isOnline bit,其他字段
当时是做了这么个表,对url进行无限制插入,当然,url是唯一不重复的
然后进入到程序,根据url得到一些数据后,更新taskid、isOnline等字段
结果因为并发和锁表,造成了拥塞现象,于是,表结构我调整了,新的结构如下
表A:url varchar(500) primary key,其他不需要更新的字段
表B:url varchar(500) primary key,taskid varchar(50),stateCode int not null,isOnline bit
之前正常插入的数据还是进表A,但是把需要update的字段放到表B里,然后不进行update,直接在表B插入需要update的数据
读的时候将两表关联就能获取正常数据,这样的好处是减少单一表锁表风险,仅供参考