sql - 获取 SQL 查询行数的最便宜的方法是什么?

标签 sql mysql

在编写网页分页查询时,获取总行数的成本最低的方法是什么?有没有一种方法可以在不运行查询两次的情况下执行此操作 - 一次用于总数,下一次用于限制?

使用MySQL

例子:(我想知道有没有更便宜的方法)

获取计数

SELECT COUNT(*) FROM table

获取分页

SELECT mycolumns FROM table LIMIT 100

如何在不运行 2 个查询的情况下获得总数。

最佳答案

您可以使用 SQL_CALC_FOUND_ROWS 选项运行第一个查询,然后运行此查询:

SELECT FOUND_ROWS();

http://dev.mysql.com/doc/refman/5.1/en/information-functions.html#function_found-rows

关于sql - 获取 SQL 查询行数的最便宜的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344111/

相关文章:

mysql - 在 where 中使用引用属性进行 Rails 查询

mysql - 如何连接2个SQL查询: SELECT from table and DELETE from another?

mysql - MySQL中的错误“每个派生表必须具有自己的别名”是什么?

php - 向表列添加标题,并从 SQL 输出总计

php - 如何使用 PHP 向 MySQL 表中插入值

java - 测试 View 是否存在,但我的方法返回 false - 它应该返回 true

mysql - 外键不会创建

sql - 删除早于 N 天的记录的存储过程

php mysql 查询两个表的数据

php - 按事件 PHP 显示画廊