首页 | PHP资讯 | 技术专栏 | 资源共享 | PHP培训 | PHP职场 | 图书 | PHP ON WIN | PHP圈子 | PHPer学习大本营
返回列表 回复 发帖

【测试】两种统计数据库中记录数的方法

【测试】两种统计数据库中记录数的方法

方法一:

$s = mysql_query("SELECT id FROM test");
$sum = mysql_num_rows($s);


方法二:

$s = mysql_query("SELECT COUNT(id) FROM test");
$sum = mysql_result($s, 0);


记录总数:30000
耗时统计(保留小数点后4位):
                 方法一            方法二
第一次     0.0383 s        0.0167 s
第二次     0.0325 s        0.0170 s
第三次     0.0360 s        0.0159 s
第四次     0.0352 s        0.0161 s
第五次     0.0339 s        0.0175 s
平均时间 0.0352 s       0.0166 s
测试结果:
方法二速度最少要比方法一快2倍以上(测试记录只用了两个字段,字段数多时性能差别会更明显)
$linvo = new PHPer();

新手多实践是对的. 虽然这个例子看上去完全没必要...因为很明显,想都能想出来..

方法一要操作N行数据, 而方法二只操作1行...执行就是这样被拉大了...
蛋疼的人生~

TOP

原帖由 zwws 于 2008-1-25 23:18 发表
新手多实践是对的. 虽然这个例子看上去完全没必要...因为很明显,想都能想出来..

方法一要操作N行数据, 而方法二只操作1行...执行就是这样被拉大了...

因为手册中的这句话
”当数据库大时,本函数的效率就有待考量了,这时可以使用较有效率的mysql_fetch_row()、mysql_fetch_array() 及 mysql_fetch_object() 等函数。“
以前我总以为mysql_result()的效率比较低,所以一直很困惑,不敢使用。
现在终于明白怎么回事了,呵呵~tukiz08

[ 本帖最后由 linvo 于 2008-1-25 23:27 编辑 ]
$linvo = new PHPer();

TOP

返回列表