php - 对于SQL行计数,使用PDO rowCount还是count(*) AS更有效率?

在我的脚本中,我有大约 15 个 SQL 查询,仅用于计算行数并将它们显示给用户。

什么是最有效的方法?

我应该使用:

$stmt=$cxn->prepare("SELECT id FROM items WHERE seller=?");
$stmt->execute(array($username));
echo $stmt->rowCount();

或者这个:

$stmt=$cxn->prepare("SELECT count(*) as count FROM items WHERE seller=?");
$stmt->execute(array($username));   
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
    echo $row['count'];

提前致谢。

 

最佳答案

 

简短的回答是 Count(*) 会更快。

但是,假设您不使用数据,如果您要选择数据并且想要计数,请使用第一种方法。

("SELECT id FROM items WHERE seller=?");

如果您在表上有一个索引,那么它几乎会立即返回。

 

关于php - 对于SQL行计数,使用PDO rowCount还是count(*) AS更有效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10674490/

您可能还会喜欢: