【发布时间】:2021-08-09 08:59:47
【问题描述】:
我需要计算 MySQL 中一个巨大表中的总行数。我正在用两种形式的 PHP 和 PDO 编写代码。请告诉我哪一个可以更快?使用 COUNT() 函数,还是计算返回的总行数?
方法一:
$sql = "SELECT id FROM tbl_users";
$q = $db->prepare($sql);
$q->execute(array());
$rows = $q->rowCount();
方法二:
$sql = "SELECT COUNT(id) as c FROM tbl_users";
$q = $db->prepare($sql);
$q->execute(array());
$result = $q->fetch();
$rows = $result['c'];
提前谢谢你。
【问题讨论】:
-
取决于
COUNT(id)值。如果它很大,那么您将失去发送到客户端阶段的输出行集。任何情况都必须经过测试。 -
@Akina 易于测试。我毫不怀疑在一张大桌子上的结果。在一张小桌子上,差异可能难以察觉。
标签: mysql select count mariadb