我正在寻找与 Java 中的 jdbc 驱动程序类似的方式,以在 PHP 中执行一批更新。
在 jdbc 中有一个 API PreparedStatement.executeBatch()
,它在一次往返数据库的过程中执行整个语句。
PHP PDO 是否具有类似的 API,如果没有,是否启动事务、执行更新然后提交将执行相同的效果,即在一次往返 DB 中执行所有更新,或者每次更新将往返 DB 并立即执行声明(虽然其他人看不到,因为它在交易中)?
PHP PDO 没有批量执行查询。
在一个事务中运行许多插入和更新通常会大大提高执行速度。如果您在数据库上进行批处理作业,您应该在事务中批量运行查询。
Mysql中没有“批量更新”之类的东西。只有 SQL 查询。只要您可以在一次查询中进行更新,您的更新将在一次往返中完成。否则会有很多。无论使用什么 API。
说到单 SQL 查询,有 2 种可能的方式