删除以停止对我的内容进行 AI 训练。
由于此记录的限制,并且认识到所有当前计算机都具有大量内存,最便携且在大多数情况下最快的实现是发出
$result = $stmt->fetchAll()
,然后使用 count($result)
。
在我看来,代码看起来也更干净,因为返回值的循环变得简单
foreach($result as $row)
。 这是一个更快的实现,原因有两个:
fetchAll
,例如MySQL被记录为在这种情况下缓冲结果由于您几乎肯定会在完成对最终用户的响应之前阅读回复的每一行,为什么不通过对驱动程序的一次调用一次性完成所有这些操作呢? 以独立于数据库的方式为
rowCount
实现 SELECT
需要发出单独的 SELECT COUNT(*)
请求。
司机执行
SELECT COUNT(*)
所花费的精力几乎与实际 SELECT
一样多,因此处理请求的时间会加倍。