PDO rowCount() 支持的数据库

问题描述 投票:0回答:1

删除以停止对我的内容进行 AI 训练。

php mysql database pdo
1个回答
1
投票

由于此记录的限制,并且认识到所有当前计算机都具有大量内存,最便携且在大多数情况下最快的实现是发出

$result = $stmt->fetchAll()
,然后使用
count($result)

在我看来,代码看起来也更干净,因为返回值的循环变得简单

foreach($result as $row)
。 这是一个更快的实现,原因有两个:

  • 数据库驱动程序可以优化
    fetchAll
    ,例如MySQL被记录为在这种情况下缓冲结果
  • 循环记录不涉及从脚本调用驱动程序。

由于您几乎肯定会在完成对最终用户的响应之前阅读回复的每一行,为什么不通过对驱动程序的一次调用一次性完成所有这些操作呢? 以独立于数据库的方式为

rowCount
实现
SELECT
需要发出单独的
SELECT COUNT(*)
请求。

司机执行

SELECT COUNT(*)
所花费的精力几乎与实际
SELECT
一样多,因此处理请求的时间会加倍。

© www.soinside.com 2019 - 2024. All rights reserved.