我一个项目中,用socket接收数据,当收到数据并处理后,存入数据库.
在这期间,因为要频繁的更新,可能每秒都有几百条数据要更新.这样经常出现个问题,出现某条记录还在读的时候,结果又被修改,发生死锁的情况.
后来,我改成了用List<string>存放更新的SQL语句,然后线程不停地去跑,当有新加入更新想同的记录的SQL语句时,替换未跑的那条SQL(也就是后覆盖前),以达到实时更新.但这样效率比较低.
因为数据库没权限去修改(数据库设计有问题,但我这边没权利改),能不能在代码里解决,如何解决,请提供个方案出来.