【问题标题】:Counting the total numbers of records in MySQL DB [duplicate]计算MySQL DB中的记录总数[重复]
【发布时间】:2014-11-07 21:22:12
【问题描述】:

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

(1)

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

或 (2) 使用以下查询:

select count(*) from table;

对数据库的哪个 QUERY 是有效的?

【问题讨论】:

  • 通常,找出哪个查询最快的最好方法就是运行它并查看。
  • 仅供参考,这不计算数据库中的记录数,只计算数据库的一个表中的记录数。您必须对每个表重复此操作才能获得数据库的总数。
  • 我的意思是说@Barmar 我想计算表“table”中的行数

标签: mysql


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果您的表真的很大,我希望第二个查询优于第一个。

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

    2. 如果您的表在其主键上建立索引,RDBMS 可能能够从索引中获取结果。

    【讨论】:

      猜你喜欢
      • 2014-04-08
      • 2012-09-13
      • 2016-08-23
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多