生活已是百般艰难,为何不努力一点。下面图老师就给大家分享MySQL与分页,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。
【 tulaoshi.com - 编程语言 】
最基本的分页方式:
SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引:
举例来说,如果实际SQL类似下面语句,那么在category_id, id两列上建立复合索引比较好:
SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10
子查询的分页方式:
随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:
SELECT * FROM aricles WHERE category_id = 123 ORDER BY id LIMIT 10000, 10
一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。
此时,我们可以通过子查询的方式来提高分页效率,大致如下:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)SELECT * FROM articles WHERE category_id = 123 AND id = (
SELECT id FROM articles ORDER BY id LIMIT 10000, 1
) LIMIT 10
来源:http://www.tulaoshi.com/n/20160219/1616666.html