小编典典

几乎没有200k随机记录的基准。与预期的一样,fetchAll方法更快,但需要更多的内存。

Result :

fetchAll : 0.35965991020203s, 100249408b

fetch : 0.39197015762329s, 440b

使用的基准代码:

// First benchmark : speed

$dbh = new PDO('mysql:dbname=testage;dbhost=localhost', 'root', '');

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = 'SELECT * FROM test_table WHERE 1';

$stmt = $dbh->query($sql);

$data = array();

$start_all = microtime(true);

$data = $stmt->fetchAll();

$end_all = microtime(true);

$stmt = $dbh->query($sql);

$data = array();

$start_one = microtime(true);

while($data = $stmt->fetch()){}

$end_one = microtime(true);

// Second benchmark : memory usage

$stmt = $dbh->query($sql);

$data = array();

$memory_start_all = memory_get_usage();

$data = $stmt->fetchAll();

$memory_end_all = memory_get_usage();

$stmt = $dbh->query($sql);

$data = array();

$memory_end_one = 0;

$memory_start_one = memory_get_usage();

while($data = $stmt->fetch()){

$memory_end_one = max($memory_end_one, memory_get_usage());

}

echo 'Result :

fetchAll : ' . ($end_all - $start_all) . 's, ' . ($memory_end_all - $memory_start_all) . 'b

fetch : ' . ($end_one - $start_one) . 's, ' . ($memory_end_one - $memory_start_one) . 'b
';

2020-05-17

php fetchall与fetch,PDO :: fetchAll与PDO :: fetch在循环中相关推荐

  1. pdo mysql fetchall_pdo fetch,pdo fetchAll,pdo query,pdo prepare用法举例

    通过pdo来从数据库中调取数据. 其中主要涉及到 pdo fetch,pdo fetchAll,pdo query,pdo prepare使用 . 可以通过以下几种方式,学习下php pdo的用法. ...

  2. PDO::fetchAll 与 PDO::fetch 循环

    只是一个快速的问题. 在循环中使用 PDO::fetchAll() 和 PDO::fetch() 之间是否存在性能差异(对于大型结果集)? 我正在获取用户定义类的对象,如果这有什么不同的话. 我最初未 ...

  3. fetchall函数php,PHP PDO fetchAll(),简单结果

    关于PDO :: fetchAll()的问题太多,但我仍然找不到答案.我需要获取MySQL返回的结果.例如,如果我有要返回的列ID,名称,年龄,如下所示: array( "id"= ...

  4. php5.5 pdo mysql_PHP5中PDO的简单使用

    PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 6都要出来的时候,PHP 6只默认使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的 ...

  5. php中的PDO对象---对PDO对象的认识、什么是PDO对象

    注:本报告总结完全由本人编著,部分概念内容由网络摘录 1 对PDO对象的认识 1.1 简介 PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据 ...

  6. fetchall php,PHP PDOStatement::fetchAll讲解

    PDOStatement::fetchAll PDOStatement::fetchAll - 返回一个包含结果集中所有行的数组(PHP 5 >= 5.1.0, PECL pdo >= 0 ...

  7. php pdo 封装类,php pdo封装类代码(支持事务)

    /** * PDO数据库 * @copyright By GOOGLE */ class pdo_db { /** * PDO实例 * @var PDO */ protected $_db; /** ...

  8. php封装pdo实例以及pdo长连接的优缺点

    文章目录 一.前言 二.为什么选择pdo 三.pdo的长连接 1.什么是pdo的长连接 2.长连接对nginx无效吗 3.php-fpm下的长连接测试 4.长连接对事务的影响 5.总结 四.pdo部分 ...

  9. php pdo 关闭,php pdo预处理

    什么是预处理语句? 可以把它看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量参数进行定制. 预处理语句可以带来两大好处: 查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次.当 ...

最新文章

  1. 定档12月22日!《黑客帝国4》王者归来,再掀矩阵革命
  2. nfs文件服务器读取文件夹,NFS文件服务器.ppt
  3. 教你清楚了解JAVA动态代理
  4. 如何恢复默认域策略和默认域控制器策略
  5. [云炬创业学笔记]第二章决定成为创业者测试10
  6. 92. Reverse Linked List II
  7. 8个球放入3个盒子方式_8种土豆做法,好吃到根本停不下来!
  8. FPGA数据传输模块设计
  9. NOIP2013/day1/1/转圈游戏
  10. java复制文件的命名_java-复制文件时在文件名扩展名前附加“复...
  11. 部署Lync监控报告
  12. 为什么我得到javafx.fxml.LoadException甚至fxml文件的路径都是正确的
  13. 软件公司之间合作的保密协议范本
  14. c语言怎么学自学,初学者如何学习c语言,带你玩转C语言
  15. 华为 服务器 驱动 linux,华为服务器SAS控制器驱动问题
  16. 灰色预测的MATLAB代码
  17. 一个网站直接跳转引起的一些思考
  18. 51单片机DS18B20测温LCD12864显示
  19. 河南漯河警方承认交警代司机交罚款有错-罚款-交警罚款
  20. excel不显示提示对话框

热门文章

  1. Aspose.Cells增加边框和合并单元格
  2. 生物成像领域—纳米长余辉发光材料介绍及其表面靶向修饰
  3. 10年后重新开始AVR之心路历程 - 1. 串口ISP烧录器 - 内附电路图[不需要AVR芯片]和编程软件
  4. Vue+Element自定义纵向表格表头
  5. 利用3D绘图程序Pangolin显示文本信息
  6. JTable获取选中行
  7. AP_INVOICES_ALL应付发票表详解
  8. 全栈开发工程师微信小程序-上
  9. 微服务和分布式的概念和区别
  10. 八、Python3自动化运维——质量报表模块