Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有时不调用mysqli_result::free、mysqli_result::close、mysqli_result::free_result可能更有益,这是真的吗_Php_Mysql_Mysqli - Fatal编程技术网

Php 有时不调用mysqli_result::free、mysqli_result::close、mysqli_result::free_result可能更有益,这是真的吗

Php 有时不调用mysqli_result::free、mysqli_result::close、mysqli_result::free_result可能更有益,这是真的吗,php,mysql,mysqli,Php,Mysql,Mysqli,有时不调用mysqli_result::free、mysqli_result::close、mysqli_result::free_result可能更有益,尤其是当页面本身很短时,而且一旦页面本身完成处理,php将自动释放资源,这是真的吗?我会说:FALSE。特别是如果你做了很多简单的查询,在你的数据库抽象中到处都有嵌套的查询,同时又希望在性能方面有一个非常高效的应用程序。做一些基准测试,它的结果就会说明事实。无论是你做的还是PHP为你做的,我看不出有什么区别,你都不会得到任何东西。但是,仅仅因

有时不调用mysqli_result::free、mysqli_result::close、mysqli_result::free_result可能更有益,尤其是当页面本身很短时,而且一旦页面本身完成处理,php将自动释放资源,这是真的吗?

我会说:FALSE。特别是如果你做了很多简单的查询,在你的数据库抽象中到处都有嵌套的查询,同时又希望在性能方面有一个非常高效的应用程序。做一些基准测试,它的结果就会说明事实。

无论是你做的还是PHP为你做的,我看不出有什么区别,你都不会得到任何东西。但是,仅仅因为它是自动为您完成的,就养成忽略免费函数和关闭函数的习惯是不好的。有一天,你可能会忘记在一个重要的循环中做这件事。

只是提醒一下我为什么把它作为评论而不是回答。对不起,我真的不知道你的意思:你在这里什么都得不到。你能证实一下吗,因为我相信是的。在执行了一些序列查询之后,立即释放内存比让所有查询在一个HTTP请求中同时运行要好得多,并让PHP在该请求结束时自动为您完成,特别是当你在调整你的V2应用程序的时候,每一毫秒都是一个黄金。@ Toopay:如果你在一个PHP文件中有一个单独的查询,它在你释放查询并关闭连接之后就结束了,那么,如果你没有明确地声明它应该关闭它,那就没关系了。它保证在脚本的末尾(恰好是下一行)关闭。但正如我所说的,你不应该把它变成一种习惯,因为这是一种不好的做法,而且坏习惯与编程不符。当然,如果是单个查询,那与释放内存无关。我们都对它的坏习惯感到愤慨。但我想从你那里得到的是对你的声明的澄清:你不会得到任何东西。因为如果我有10000个城市的记录,我在一个HTTP请求中做了几个查询,即使只是10或30毫秒,我发现它做了一些事情。15-20%的性能改进是有意义的。@toopay:问题是关于一个简短的PHP,我暗示说你不会得到任何东西:不释放内存不会得到任何东西,因为它无论如何都会被释放。