gpt4 book ai didi

php - 写入文本文件并更新数据库

转载 作者:行者123 更新时间:2023-11-29 03:03:46 25 4
gpt4 key购买 nike

我想知道是否有任何方法可以测量覆盖文件与更新 mysql 数据库之间的开销时间差和资源消耗(内存)。让我们假设我正在更新一行,但是有两个语句。这意味着我必须首先获取数据库以获得结果:

SELECT personName FROM emplyees WHERE id = 1

然后获取该名称后我会进行更新

更新员工 SET personName = 'foo' WHERE personsName = '$queryResult'

现在,所有这些查询都是通过一个简单的文件覆盖,就像这样

$file = 'personName.txt';
fwrite(fopen($file, 'w'), 'newName');

我当然猜想,覆盖文件需要更少的时间和资源,但是直到什么程度?考虑选择执行类似任务的查询时,文件应该增加多少?

就像一个疯狂的猜测,我认为写入文件比更新行快 10 倍,但如果有人对如何获取准确信息有更好的解释和实用指南,那将会很有帮助。

谢谢

最佳答案

目标:测量用单行更新 MySQL 表中的字符串列与覆盖文件系统中具有相同字符串的文件所花费的时间。

考虑是否要包括连接到 mysql 服务器和断开连接所花费的时间(我有一种直觉,它们将花费比查询本身更多的时间)

...
$val = $_SERVER['REMOTE_ADDR']
$start = microtime(true);

$con=mysqli_connect("example.com","user","pass","my_db");
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$mysqli->query("UPDATE employees SET personName= '$val'");
$mysqli->close();

echo "Time taken for MySQL: ".microtime(true)-$start."s";

$start = microtime(true);

$file = 'personName.txt';
$fpointer = fopen($file, 'w');
fwrite($fpointer, $val);
fclose($fpointer);

echo "Time taken for FileSystem: ".microtime(true)-$start."s";
...

让我们知道结果:)

关于php - 写入文本文件并更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022430/

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