我有一个包含超过 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% 确定如何使用表状态方法。
反馈和意见会很棒。谢谢大家!
最佳答案
使用 count
从数据中选择计数(id)
参见 this question有关获取计数的更多信息。确保您的 ID 在表中有索引。
现在,要查找唯一 行的数量,您可以执行
从数据中选择计数(distinct(id))
或者,如果您想找到最高 ID 编号(如果您的 ID 是自动递增且唯一的),您可以尝试SELECT max(id) FROM data
返回存在最高 ID 号。
我强烈推荐这个网站来学习这些基本功能: http://sqlzoo.net/
关于php - MYSQL最佳行数统计方法-大型数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823835/