保持业务数据同步
平时数据库处理时,总要接触关于数据同步修改的问题,有时候我们需要在业务处理时保证业务数据同步(一般这种情况都包含统计字段,也就是说需要根据前面的值算出后面的值的字段),例如,两个人同时查询出1条记录后,先后对其加1,保存入数据库中,这样就可能造成保存问题,因此,需要对该数据进行同步。这里有3种方法可以采用:
1.增加一个版本字段,查询时得到该字段,修改后增加1,以后其他的修改需要进行比较,如果不同,则保存失败 (需要额外比较)
2.依赖数据库本身的机制,对将要修改的数据进行锁定(该方法会造成数据库访问瓶颈)
3.在保存时使用复合sql语句进行修改,例如 updata a tem1 set tem1.filed=(select tem2.filed+1 from a tem2 where tem1.id=tem2.id ) where tem1.id=1;