哪个MySQL查询有效获取记录总数

Fre*_*edy 5 php mysql

要获取记录总数,我通常使用此查询:

$total= mysql_num_rows(mysql_query("SELECT id FROM t_statistic WHERE pageid = $pid"));
Run Code Online (Sandbox Code Playgroud)

但我得到一个如下的其他查询:

$data = mysql_fetch_object(mysql_query("SELECT COUNT(id) AS num_rows FROM t_statistic WHERE pageid = $pid"));
$total = $data->num_rows;
Run Code Online (Sandbox Code Playgroud)

在上面的两个查询之间.哪个更快更有效(当记录总数达到数百万时)?

Joh*_*Woo 5

我更喜欢第二个查询.它为您提供了记录计数,而第一个查询为您提供了ID列表(不是计数),虽然它已被过滤,但在某些情况下,ID在表中存在多次.