php中的Mysql COUNT(*)和myql_num_rows:哪个更快?

时间:2015-09-24 10:00:32

标签: php mysql

我想知道通过select COUNT(*) from table获取数据和mysqli_num_rows($ofquery)(在php中)获取行数之间的区别吗?

我尝试过两种方式并且效果很好。但方法更快?

1 个答案:

答案 0 :(得分:0)

使用COUNT,服务器将在内部以不同方式处理请求。

执行COUNT时,服务器只会分配内存来存储计数结果。

使用mysqli_num_rows时,服务器将处理整个结果集,为所有结果分配内存,并将服务器置于提取模式,这涉及许多不同的细节,例如锁定。

将其视为以下伪方案:

1)嘿,教室里有多少人? (计数)

2)嘿,给我一份教室里所有人的清单,......我会自己计算人数(mysqli_num_rows)

count最好是mysqli_num_rows

Reference from here.