think-orm
think-orm copied to clipboard
高并发插入数据出现 MYSQL | ERROR 1305(42000) SAVEPOINT trans*** DOES NOT EXIST
MYSQL | ERROR 1305(42000) SAVEPOINT trans*** DOES NOT EXIST
看源码Model.php insertData 和 updateData 方法都默认使用了事务处理 在高并发插入数据的情况下出现了
MYSQL | ERROR 1305(42000) SAVEPOINT trans*** DOES NOT EXIST 导致插入数据被rollback
我应该如何处理?
高并发下不建议使用orm,可以使用mysqli或者pdo原生代码,灵活机动,可控性强。如果非要使用orm,循环遍历就不会有问题,不要并发操作。我最近用swoole也出现了类似问题,最后还是用连接池+mysqli进行查询,循环遍历进行的更新