码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL中LIMIT用法

时间:2017-04-25 21:16:07      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:span   bsp   select   表名   fse   ble   sql   div   取出   

MYSQL中LIMIT用法
SELECT * FROM tableName  LIMIT [offset,] rows;
 1、select * from table limit m,n(显示条数)
    其中m是指记录开始的索引index(索引是从0开始的表示第一条记录 )
    n是指从第m+1条开始,取n条。
    结果是检索记录第m+1行至(m+n)行记录,共取出n条记录
    ex:
    SELECT * FROM 表名 limit 6,5;
    结果:检索记录第7行至11行记录,共取出5条记录。

 2、n可以被设置为-1,当n为-1时,表示从m+1行开始检索,直到取出最后一条数据。
    ex:
    SELECT * FROM 表名 limit 6,-1;
    结果:检索取出第7行至以后的所有数据。

 3、若只给出m,则表示从第1行记录行开始算一共取出m条(limit 0,n 的特殊情况)
    ex:
    SELECT * FROM 表名 limit 6;
    结果:检索取出前6条记录行。

 4、检索性能优化.根据数据量的大小选择相应的语句:
    a.offset比较小:
    SELECT * FROM doctor limit 10,10
    多次运行,时间保持在0.0004-0.0005之间
    SELECT * FROM doctor Where id >=(
    SELECT id From doctor id limit 10,1
    ) limit 10
    多次运行,时间保持在0.0005-0.0006之间,主要是0.0006

    结论:偏移量offset较小的时候,直接使用limit较优。


    b.offset大的时候。
    SELECT * FROM doctor limit 3000,10
    多次运行,时间保持在0.012左右
    SELECT * FROM doctor Where id >=(
    SELECT id FROM doctor id limit 3000,1
    ) limit 10
    多次运行,时间保持在0.004左右,只有前者的1/3。

    结论:偏移量offset越大,后者直接使用子查询越优。

 

 

MYSQL中LIMIT用法

标签:span   bsp   select   表名   fse   ble   sql   div   取出   

原文地址:http://www.cnblogs.com/gqs92/p/6763906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!