功能介绍:分页查询(limit)是一种常用的数据库查询技术,它允许我们从数据库表中按照指定的数量和顺序获取数据,它在处理大量数据时特别有用,可以提高查询效率并减少网络传输的数据
语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询记录数 ;
- LIMIT参数:第一个参数表示要跳过的记录数(偏移量),第二个参数表示要返回的记录数。
- 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
- 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
- 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。
用例:
-- 从索引0开始查询10条数据
select * from user limit 0,10;
select * from user limit 10;
-- 从索引10开始查询10条记录
select * from user limit 10,10;
count(*)、count(id)、count(字段)、count(1)介绍
类型 | 用法 |
count(id) | 遍历整张表,把每一行的 主键id 值都取出来,返回给服务层,服务层拿到主键后,直接按行进行累加(不含null值的列) |
count(字段) | 返回不是null值的数量(不含null值的列) |
count(1) | 遍历整张表,但不取值,服务层对于返回的每一行,放一个数字“1”进去,直接按行进行累加(不含null值的列) |
count(*) | 不会把全部字段取出来,不取值,服务层直接按行进行累加(含有null值的列) |
统计效率比较:count(字段) < count( id) < count(1) ≈ count(*)