php - MYSQL最佳行数统计方法-大型数据库

标签 php mysql database

我有一个包含超过 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/

相关文章:

php - 如何用php编辑word文档?

database - 如何在 Mac OS X 上从命令行启动 sqlite 数据库浏览器

php - Doctrine MongoDB ODM : must one call flush() after findAndUpdate()?

php - CakePHP beforeFilter 查找

MySQL - 在一个字段中搜索多个值

php - Mysqli:打印记录列表

php - 如何使用 PHP 数组对 MySQL 中的结果进行分组?

java - 从java代码加载文件到数据库

php - Android 应用程序未获得 JSON 响应

php - 向所有用户显示该事件正在进行中