mysql - 使用 SQL 优化分页

标签 mysql

使用 mySQL 优化分页的最佳实践是什么? SQL 查询类似于

Select * from SOME_TABLE where id <= SOME_NUMBERS and OTHER_OPTIONAL_CONDITIONS_TO_FILTER_RESULTS order by id desc limit NUM_RESULTS_PER_PAGE

我目前的方法是缓存前几页,但通常使缓存结果失效的过程相当复杂。

最佳答案

您可以将偏移量传递给LIMIT,以便查询仅返回您要查找的页面的内容。例如,考虑每个页面有 20 条记录:

-- Page 1
SELECT * 
FROM some_table
LIMIT 0, 20

-- Page 2
SELECT * 
FROM some_table
LIMIT 20, 20

-- and so on...

关于mysql - 使用 SQL 优化分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272497/

相关文章:

php - 如何使用另一个表中的值从表中选择数据

mysql - 数据库查询返回条件 1=true 单独或条件 2=true 单独的记录,但不返回条件 1 和条件 2=true 共同时的记录

mysql - Laravel 5.5 中的主从配置

python - SQLAlchemy Core 使用 Table() 的最大列数 - Python

mysql - 如何在 Laravel voyager 注册页面添加新字段

MySQL:从包含分隔数据的列创建的输出行

sql - 检查 mysql 中的相互关系。一个简单的单表问题

mysql - 如何选择嵌套子查询连接中的最后一个 N?

php - 尝试用 PHP 显示来自 MySQL 数据库的图像

php - 更新 MYSQL 表时 While 循环中的性能下降