我刚刚成功尝试使用 beginTransaction() 在我的项目中使用 PHP 执行我的 sql 语句。我有一系列项目需要写入数据库,并且每个项目都必须在存储之前针对某些内容进行验证。关闭数据库的自动提交行为的好处之一是,如果中间出现问题,您可以回滚整个事务。在我的项目中,如果一项无效,整个数组不应该记录在数据库中,这就是我选择使用这种方法的原因。
现在我只是想知道这在性能方面是否真的是更好的方法?因为即使验证了数组中的最后一项,我仍然需要手动 commit() 之前的执行。提交是否重复执行sql?
我现在能想到的唯一优点是,如果您想验证所有项目(假设所有项目都是有效的)然后编写每个项目,您只需要执行一个循环而不是两个循环。