这两个查询中哪一个更快?

时间:2011-11-16 03:46:48

标签: php mysql sql

以下两个查询中的哪一个可能更快?

$cposts = mysql_query("SELECT id FROM posts WHERE company_id = ".$dealid." ");  
$sum_posts= mysql_num_rows($cposts);
echo $sum_posts;

$cposts2 = mysql_query("SELECT count(id) as myid FROM posts WHERE company_id = ".$dealid." ");  
$sum_posts2= mysql_fetch_assoc($cposts2);
echo $sum_posts2['myid'];

2 个答案:

答案 0 :(得分:1)

SELECT COUNT(id)...快得多。 SQL数据库将进行计数并返回,而不是返回所有记录,并在应用程序端进行计数。

干杯。

答案 1 :(得分:0)

我相信计数会更好,并会减少处理。

我会这样做:

$cposts = mysql_query('SELECT COUNT(*) FROM posts WHERE company_id = ' . $dealid);
$num_posts = (int)mysql_result($cposts, 0);
echo $num_posts;