MySQL与分页

2016-02-19 18:02 7 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享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

延伸阅读
复杂条件搜索时,where somthing order by somefield+somefieldmysql会搜遍数据库,找出“所有”符合条件的记录,然后取出m,n条记录。如果你的数据量有几十万条,用户又搜索一些很通俗的词,然后要依次读最后几页重温旧梦。mysql该很悲壮的不停操作硬盘。 所以,可以试着让mysql也存储分页,当然要程序配合。 ASP的分页:在ASP...
标签: PHP
似乎讨论分页的人很少,难道大家都沉迷于limit m,n? 在有索引的情况下,limit m,n速度足够,可是在复杂条件搜索时, where somthing order by somefield somefield mysql会搜遍数据库,找出所有符合条件的记录,然后取出m,n条记录。 如果你的数据量有几十万条,用户又搜索一些很通俗的词, 然后要依次读最后几页重温旧梦。。。my...
一、什麽是 MySQL MySQL (发音为 "My Ess Que Ell")是 Tcx 公司开发的一个多人使用、多执行绪的 SQL 资料库 Server。MySQL 主要的目标在快速、稳定和容易使用。 MySQL 可在此 http://www.mysql.net/ 取得。 二、MySQL 的安装 本文所使用的 MySQL 版本为 mysql-3.22.27.tar.gz(原始码档),作...
4.3 列类型选择与查询效率 要选择有助于使查询执行更快的列,应遵循如下规则(这里,BLOB 类型应该理解为即包含B L O B也包含TEXT 类型): ■ 使用定长列,不使用可变长列。这条准则对被经常修改,从而容易产生碎片的表来说特别重要。例如,应该选择CHAR 列而不选择VARCHAR 列。所要权衡的是使用定长列时,表所占用的空间更多,...
MySQL GUI工具很多,本文就常用的Navicat for MySQL与MySQL GUI Tools的特色功能做一个详细介绍与比较。 一、MySQL GUI Tools MySQL官方提供的一个可视化界面的MySQL数据库管理控制台,提供了四个图形化应用程序,这些图形化管理工具可以大大提高数据库管理、备份、迁移和查询效率。它们分别是: ◆ MySQL Migration Toolkit ◆ MySQL Admi...

经验教程

208

收藏

92
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部