当前位置:主页 >> Mysql >> 正文
mysqli_num_rows($result)和select count()的区别
阅读:921 输入:2015-08-22 09:33:44
mysqli_num_rows($result)和
$sql = "select count(id) from `content`";
//$rs= mysql_query($sql);
$rs= mysql_fetch_array(mysql_query($sql));
$total=$rs[0];

有啥区别?比如含义上,性能上啥的?

利用select count(*) ,出来的结果,只有一行,是利用MySQL自身算法进行计算的。

mysqli_num_rows则需要二次算:先将全部资料查询,然后通过mysqli_num_rows计算,是多行计算。

第一种是利用MySQL自身的COUNT()函数,第二种则通过PHP函数进行。

如果数据量非常非常大的话,第一种直接利用SQL语句计算的话会快一些,第二种相对会慢一些。

不过小数量级的数据表其实差异估计也看不出太大变化来,呵呵。

一般获取个数都是做分页用的,所以不光要查出个数,还要数据的内容个人感觉要看数据量多少了,如果数据量多用SELECT COUNT(),这样还要进行SELECT *查询如果数据量少,用mysql_num_rows(),这样少了一次查询等于,直接SELECT *完了后就mysqli_num_rows()行了。