B 方法:数据库控制分页(SQL) 在数据查询阶段 就根据需要展示的页数将数据从数据库中(部分查询只查询其中一页的数据)查询出来 ,展示到前端网页。
思考: 哪种方案好?
A 查询次数少 效率高 但是 一次性查询的数据不能过大否则内存不够。
B 查询次数多 效率一般 但是没有内容不够
需求 例如: 查询班级信息、查询2019年淘宝全年销售记录。
查询三条数据mysql> select * from t_people limit 3;
+----+--------+-----+--------+-------------+-----+
| id | name | age | grade | tel | sex |
+----+--------+-----+--------+-------------+-----+
| 1 | 张三 | 18 | 一年级 | 18989898899 | 1 |
| 2 | 李四 | 19 | 一年级 | 18899998888 | 1 |
| 3 | 凯瑟琳 | 18 | 一年级 | 18877776666 | 0 |
+----+--------+-----+--------+-------------+-----+
3 rows in set
从索引为0开始查询,查询三条数据
mysql> select * from t_people limit 0,3;
+----+--------+-----+--------+-------------+-----+
| id | name | age | grade | tel | sex |
+----+--------+-----+--------+-------------+-----+
| 1 | 张三 | 18 | 一年级 | 18989898899 | 1 |
| 2 | 李四 | 19 | 一年级 | 18899998888 | 1 |
| 3 | 凯瑟琳 | 18 | 一年级 | 18877776666 | 0 |
+----+--------+-----+--------+-------------+-----+
3 rows in set
从索引为3开始查询,查询三条数据
mysql> select * from t_people limit 3,3;
+----+------+-----+--------+-------------+-----+
| id | name | age | grade | tel | sex |
+----+------+-----+--------+-------------+-----+
| 4 | 安妮 | 18 | 一年级 | 17766665555 | 0 |
| 5 | 马超 | 24 | 二年级 | 18298912898 | 1 |
| 6 | 关羽 | 26 | 二年级 | 18388883333 | 1 |
+----+------+-----+--------+-------------+-----+
3 rows in set
limit 索引,数量
我们一般都是查询第几页 而limit 是 从索引开始查询。
请问 :
第一页 每页5 limit 0,5
第2页 每页5 limit 5,5
第3页 每页5 limit 10,5
第4页 每页5 limit 15,5
第n页 每页x limit (n-1)x , x
一共有103条数据 每页显示6条 请问 一共多少页? 18页
一共有count条数据 每页显示x条 请问 一共多少页?