1

我有一个包含超过 400,000 行的 MySQL 数据库。对于我的基于 Web 的脚本,我有一个页面功能。确定应该有多少页的步骤之一是返回表中的行数。

让我们假设表名是data

我想知道只返回数据库中行数的最有效方法是什么。

我显然可以做类似的事情:

$getRows = mysql_query("SELECT id FROM `data`") or die(mysql_error());
$rows = mysql_num_rows($getRows);

所以它只选择id。但是,这将选择 400,000 + ID 的数据并将其存储在堆栈中(我认为?),并且使用诸如查找表状态之类的方法似乎效率较低。我只是不是 100% 确定如何使用表格状态方法。

反馈和意见会很棒。多谢你们!

4

2 回答 2

4

使用次数

SELECT count(id) FROM data

有关获取计数的更多信息,请参阅此问题。确保您的 id 在您的表中有索引。


现在,要查找唯一行数,您可以执行

SELECT count(distinct(id)) FROM data


或者,如果您想找到最高的 ID号(如果您的 ID 是自动增量且唯一的),您可以尝试SELECT max(id) FROM data返回当前的最高 ID 号。


我强烈推荐这个网站来学习这些基本功能: http ://sqlzoo.net/

于 2012-10-10T16:14:19.453 回答
2

400,000 行根本不算多。保持简单,只需执行以下操作:

select count(*) 
from `data`
于 2012-10-10T16:13:15.323 回答