gpt4 book ai didi

php - PDO fetchall() 性能注意事项?

转载 作者:可可西里 更新时间:2023-11-01 06:37:11 26 4
gpt4 key购买 nike

在阅读了一些关于 PHP 的 PDO fetchall() 函数对性能影响的文章后,我很好奇是否有另一种方法可以在不调用 fetchall() .

解释一下,大多数人都同意 fetchall() 往往是资源密集型的。就我而言,我认为这不会是一个太大的问题。是的,我必须从我的数据库中提取整个表并将其显示给用户,但它最多大约有 100 行;我认为这不会成为问题。但假设,如果我需要提取 100,000 行,什么是更优化的解决方案?

最佳答案

假设,如果您需要在单个响应中输出所有 100,000 行,您应该将 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 设置为 false,执行查询,并迭代结果集一次一行使用 fetch .详细来说,如果 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 设置为 true,php 会缓冲整个结果集,而不管您是否调用 fetchAll()。

好处是您可以大大减少脚本的最大内存消耗,并且可以更快地开始流式输出,尽管完成的总时间可能会或可能不会花费更长的时间。

我忽略了在这种极端情况下你应该考虑的其他事情,比如输出缓冲等......

关于php - PDO fetchall() 性能注意事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13221861/

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