mysqli_num_rows和select count(*)之间有区别吗

时间:2016-08-16 16:00:29

标签: sql mysqli

有时我想在查询中获得结果数量,通常我使用mysqli_num_rows来做,例如:

$count = mysqli_query($this->db,"SELECT * FROM `test`");
return mysqli_num_rows($count);

有计数:

$count = mysqli_query($this->db, "SELECT COUNT(*) as cnt FROM test");
$row = mysqli_fetch_assoc($count);
return $row['cnt'];

这两种获取行数的方法有什么区别吗?

1 个答案:

答案 0 :(得分:3)

永远不应该使用前一个,因为它将从数据库中选择所有表数据并将其发送到PHP,在此过程中阻塞服务器。

后者选择并发送一个号码。