最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
mysql limit用法之limit分页详解
时间:2013-08-23 编辑:简简单单 来源:一聚教程网
mysql limit语法
代码如下 | 复制代码 |
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset |
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
代码如下 | 复制代码 |
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: //如果只给定一个参数,它表示返回最大的记录行数目: mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行 //换句话说,LIMIT n 等价于 LIMIT 0,n。 |
上面的做法在数据量小的时间还是很快的,但是各万张数据就不行了,我们可以对limit进行如下优化
我现在测试100W数据结果如下
代码如下 | 复制代码 |
Select * From yanxue8_visit Where vid >=( Select vid From yanxue8_visit Order By vid limit 10,1 ) limit 10 次运行,时间保持在0.0005-0.0006之间,主要是0.0006
|
多次运行,时间保持在0.0061左右,只有前者的1/3。可以预计offset越大,后者越优。
结合与php分页实例
代码如下 | 复制代码 | ||||
ShowData ShowData//连接数据库 $page = 1; $db = mysql_connect('127.0.0.1','root','toor'); mysql_select_db('test',$db); $pagesize = 3; //每页显示到数量 //计算一共有多少记录,用于计算页数 $rs = mysql_query("select count(*) from info",$db); $row = @mysql_fetch_array($rs); $numrows = $row[0]; //计算页数 //设置页数 //读取指定记录 //把数据用表格显示出来
} echo " 共".$pages."页(".$page."/".$pages.")"; ";
for ($i = 1;$i < $page;$i++) { echo "[".$i."]"; } echo "[".$page."]"; for ($i = $page + 1;$i <= $pages;$i++) { echo "[".$i."]"; } echo " ?>
|
-
上一个: redis安装测试与常用方法使用教程
相关文章
- MySQL分页原理技术整理的8个方法 04-18
- MySQL登录、访问及退出操作解析 10-18
- sql语句 update字段null不能用is null问题解析 09-28
- SQL Server ISNULL 不生效原因及解决分析 09-28
- 关于if exists的用法及说明分析 09-28
- Access数据库日常维护方法 09-28