1.大规模并发写入,出现数据库锁死,数据写入失败,数据表损坏等问题
2.锁表需要配合事务使用
3.具体代码如下
M()->startTrans(); $lot_check = M()->table('order')->lock(true)->where(['id' => $id])->field('id,type')->find(); $res = M()->add($data); if($res) { M()->commit(); #提交事务 }else{ M()->rollback(); #回滚事务 }
4.采用的方法主要就是事务配合锁表,解决大并发写入问题