我正在使用 MYSQLI_USE_RESULT
(无缓冲查询)从表中查询大量数据。为了进行测试,我使用了一个5.6gb大小的表。我选择了所有列 Select * from test_table
.
如果我没有用这样的方法读取任何行 fetch_assoc()
等等,然后尝试用 mysqli_free_result()
. 关闭它需要5到10秒。
有时我根据可用内存读取所需的行数。然后我打电话 mysqli_free_result()
与不读取一行相比,它所花费的时间更少。
因此,未读行越少,释放结果的时间就越短。未读行越多,释放结果的时间就越长。
据我所知,这项功能将耗费大量时间,这在哪里都没有记载。
查询所用时间约为0.0008秒。
是错误还是预期行为?对我来说,这种懒散挫败了整个观点 MYSQLI_USE_RESULT
.
mysql v5.7.21,php v7.2.4用于测试。
此函数的别名为 mysqli_result::free
-- mysqli_result::close
-- mysqli_result::free_result
-- mysqli_free_result
.
暂无答案!
目前还没有任何答案,快来回答吧!