在 MySQL 中,分页查询主要通过LIMIT关键字实现,用于从查询结果中截取部分数据,适用于大量数据的分批展示(如网页分页)。以下是详细用法:
SELECT 列名 FROM 表名
[WHERE 条件]
[ORDER BY 排序字段 [ASC|DESC]]
LIMIT 起始位置, 每页条数;
-
起始位置:从第几条记录开始查询(索引从 0 开始)
-
每页条数:需要返回的记录数量
SELECT * FROM products LIMIT 0, 10;
SELECT * FROM products LIMIT 10, 10;
SELECT * FROM products LIMIT 20, 10;
SELECT * FROM products
WHERE price > 100
ORDER BY price DESC
LIMIT 10, 10;
SELECT * FROM users LIMIT 10;
对于第 N 页(每页显示 M 条),查询语句为:
示例:第 5 页,每页 20 条
-
排序的重要性:分页查询通常需要配合ORDER BY使用,否则分页结果可能不稳定(数据顺序可能变化)
-
性能优化:
-
当页数很大时(如
LIMIT 100000, 10),查询效率会下降
-
优化方案:使用主键索引定位起始位置
SELECT * FROM products
WHERE id > (1000 * 10)
ORDER BY id
LIMIT 10;
-
总页数计算:
通常需要先查询总记录数,再计算总页数
SELECT COUNT(*) FROM products WHERE category = 'books';
分页查询是 Web 开发中处理大量数据的必备技巧,合理使用可以有效提升数据加载速度和用户体验。