gpt4 book ai didi

mysql - MySQL 在单个事务中可以执行的最大查询量是否存在?

转载 作者:行者123 更新时间:2023-11-30 00:29:56 26 4
gpt4 key购买 nike

我有一个程序,每天都会分析互联网上的一组非常大的文本数据。目前我正在迭代这些数据并存储它。不过,我最近了解到,使用 prepared statementsbeginTransactioncommit 更快、更稳健。 。之前这段代码的结构是相同的,没有 beginTransaction()commit() 语句。 我想知道在使用事务时是否有可能通过引入新的故障点:内存硬限制而无意中危及我的服务器/程序的完整性。这是一些描述正在发生的事情的伪代码:

$database->beginTransaction();
$query = $database->prepare("insert into data_storage (id, data, time) values (?, ?, ?);
for ($i = 0; $i < count($dataset); $i++)
{
$etc = get_data_from_curl($dataset[i]["url"]);
$query->bindParam(1, $etc[0]);
$query->bindParam(2, $etc[1]);
$query->bindParam(3, $etc[2]);
$query->execute();
}
$database->commit();

这使得我的测试中的脚本执行速度提高了 15%,其中 $dataset 的大小约为 2000。但是,我不确定 beginTransaction() 是否有效code> 在我的服务器上添加任何额外的内存限制。我使用免费的亚马逊服务器,服务器的完整性对我的项目极其重要。

有时需要一天多的时间才能记录所有新数据。这么多新数据是否有可能导致我的程序/数据库因内存限制而崩溃?

有没有更好、更快的方法来做到这一点?我听说过存储过程,以及它们如何改进数据库功能,但我不确定如何在这种情况下应用它们以使该过程更快。

最佳答案

如果您确实想让数据库写入速度更快,请不要让它们依赖于像网络查找这样可怕的缓慢操作。

关于mysql - MySQL 在单个事务中可以执行的最大查询量是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22589545/

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