gpt4 book ai didi

php - 开始交易的最佳方式是什么?

转载 作者:行者123 更新时间:2023-11-29 02:20:59 26 4
gpt4 key购买 nike

我在每 3 分钟运行一些功能的服务器上安装了 cron。

这是函数:

$xmldb->sendOddsToDb();
$xmldb->copyHAtoHandicap();
$xmldb->sendFixturesToDb();
$xmldb->fillBaby();

每个函数都有:

try{
$this->conn->connect(); //connect to database
$this->PDO->beginTransaction(); // begin
$stmt = $this->PDO->prepare($this->insTLS);
//some params not important
$this->PDO->commit(); //SAVE
$this->conn->close(); //CLOSE
}
catch(Exception $e){
$this->PDO->rollBack();
}

现在我的问题是,是更好地使用这样的交易,为每个功能新交易还是只开始一次,并在所有功能结束时提交?例如:

try{
$this->conn->connect(); //connect to database
$this->PDO->beginTransaction(); // begin
$xmldb->sendOddsToDb();
$xmldb->copyHAtoHandicap();
$xmldb->sendFixturesToDb();
$xmldb->fillBaby();
$this->PDO->commit(); //SAVE
$this->conn->close(); //CLOSE
}
catch(Exception $e){
$this->PDO->rollBack();
}

我需要尽可能快地向数据库插入数据,因为我每 3 分钟从 Feed 中获取超过 100,000 行的数据。

最佳答案

我建议阅读此 PHP PDO Transactions Documentation .

首先,如果您显式开始事务、执行 PDOStatement 并提交该事务或只是简单地执行事务,则没有区别。

其次,如果四个数据库功能相互依赖,则将它们全部包装在一个事务中。

第三,无论功能是否相关,将它们包装在一个事务中肯定会更快。

关于php - 开始交易的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com