计算MySQL DB中的记录总数

时间:2014-09-14 02:39:31

标签: mysql

我必须计算数据库中的记录总数。我想知道MySQL执行此操作的有效/快捷方式。我可以用:

(1)

$rslt=mysql_query("select * from table");
$count = mysql_num_rows($rslt);

或(2)使用以下查询:

select count(*) from table;

数据库的哪些查询效率很高?

2 个答案:

答案 0 :(得分:3)

第一个(select * from ...)必须实际读取行,而第二个将从数据库返回int。对于大型表格,第二个会更快。

答案 1 :(得分:0)

如果您的表格非常大,我希望第二个查询的表现优于第一个。

  1. 它不需要实际从DB获取大量数据到客户端。在这种情况下,SELECT *是一个可怕的想法。 SELECT 1不必加载每个字段。

  2. 如果您的表在其主键上编入索引,则RDBMS可能能够从索引中以递归方式获取结果。