`

Limit的使用

阅读更多

 

LIMIT的原理:

                      这里以LIMIT N,M为基础:LIMIT首先要找查N+M行,然后从N行处,取M行。那么这样的SQL对一次查询1275500一个操作应该是一个昂贵的开销。对于LIMIT这类的优化,第一个目标就是让N变的尽可能的小或是不用。    

三种常用的类型:

第一种:显示“上一页” “下一页”这种类型

         第一页:

                    SELECT *FROM TABLE WHERE UID='48' ORDER BY POSTDATE DESC LIMIT 20; 

         第二页:根据第一页的postdate进行查询如:

SELECT *FROM TABLE WHERE UID='48' AND POSTDATE<'2009-11-3'  ORDER BY POSTDATE DESC LIMIT 20;    

        

第二种:显示 “ 1,2,3,4,5…”

         第一页和第二页实现同上,如从第二页跳到第5页

SELECT *FROM TABLE WHERE UID='48' AND POSTDATE<'2009-11-3'  ORDER BY POSTDATE DESC LIMIT 40,20;    

        看到这里明白为什么大型网站的分页不是一下标识出来完了,让都能点了吧。也不会给你一个框让你输入一个页跳过去了。如果跳的页面过多,也就存在N值过大的问题了。所以要想办法避免。

第三种:显示 “1,2,3,4,5,…. 末页” 或是 “首页,<<100,101,102,103 >>末页”

别的页面的跳转的上面一样。这里就加一个末页

SELECT *FROM TABLE WHERE UID='48' ORDER BY POSTDATE ASC LIMIT 20; 如果在条件可能和情况可以考用:between … and .. 带代替limit分页操作。

 

简单的逻辑转换。

SELECT *FROM TABLE WHERE UID='48' ORDER BY POSTDATE DESC LIMIT 127654,20;

转换成:

SELECT *FROM TABLE WHERE ID>127654 AND UID='48' ORDER BY POSTDATE DESC LIMIT 7654,20;

 

分享到:
评论

相关推荐

    Oracle分页(limit方式的运用)

    Oracle分页(limit方式的运用)Oracle分页(limit方式的运用)

    MySQL limit使用方法以及超大分页问题解决

    主要给大家介绍了关于MySQL limit使用方法以及超大分页问题解决的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    mysql delete limit 使用方法详解

    mysql delete limit优点: 用于DELETE的MySQL唯一的LIMIT row_count选项用于...例如,以下子句用于查找与WHERE子句对应的行,使用timestamp_column进行分类,并删除第一(最旧的)行: DELETE FROM somelog WHERE user

    limit传参的使用方法

    在mysql中使用limit传参的方法,一个简单的实例

    使用limit,offset分页场景时为什么会慢

    主要介绍了使用limit,offset分页场景时为什么会慢,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    p-limit:在有限的并发下运行多个承诺返回和异步功能

    p极限在有限的并发下运行多个承诺返回和异步功能安装$ npm install p-limit用法const pLimit = require ( 'p-limit' ) ;const limit = pLimit ( 1 ) ;const input = [limit ( ( ) =&gt; fetchSomething ( 'foo' ) ) ,...

    Mysql子查询IN中使用LIMIT应用示例

    这两天项目里出了一个问题,LIMIT使用后报错。 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料申请表,要求是读出申请表中哪些人申请哪些物料 于是我先是这样写的: 代码如下: SELECT infor....

    关于sqlite使用limit的一些详细说明

    关于sqlite使用limit的一些详细说明

    windows系统下内存压力测试工具testlimit.exe

    windows系统下内存压力测试工具testlimit.exe

    mysql分页之limit优化技巧

    本文档针对mysql分页之limit慢的问题,使用联合索引在大数据量的情况下优化limit分页的性能

    java笔记\Oracle里sql不能用limit的处理

    Java笔记--Oracle中SQL不能用Limit的处理 在Java开发中,我们经常需要对数据库进行分页查询,但是Oracle数据库不支持Limit关键字,那么如何在Oracle中实现分页查询呢?下面,我们将详细介绍Oracle中SQL不能用Limit...

    从图像中检索主要颜色的工具_Ruby_代码_下载

    colors_limit(默认值为10000) - 计算调色板时将考虑的最大颜色数 - 如果图像有太多颜色,则计算所有颜色的分组效率不高,因此只colors_limit使用最大百分比的颜色 min_percentage_sum(默认值为0.981) - 计算应...

    docker-image-size-limit:留意您的docker映像大小,并防止其过大

    docker-image-size-limit 使用简单的CLI命令限制docker映像的大小。 非常适合在CI流程中使用。 阅读。安装pip install docker-image-size-limit 或使用我们的或。用法我们仅支持一个命令: $ disl your-image-name:...

    Testlimit windows

    程序测试工具,可以对系统和应用程序进行强度测试 (Procedures for testing tools, systems and applications on the strength testing procedures)

    Mysql_limit.zip_limit

    这个文件主要讲述了mysql中limit的原理,并举例子进行了使用说明。

    itk,错误:use /Zm to specify a higher limit解决办法

    fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit Generating Code... fatal error C1076: compiler limit : internal heap limit reached; use /Zm to ...

    ThinkPHP中limit()使用方法详解

    limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多。ThinkPHP的l imit方法可以兼容所有的数据库驱动类的。 用法一、限制结果数量 例如获取满足要求的10个用户,...

    mysql limit分页优化详细介绍

    mysql limit分页优化 ...文中不是直接使用limit,而是首先获取到offset的id然后直接使用limit size来获取数据。根据他的数据,明显要好于直接使用limit。这里我具体使用数据分两种情况进行测试。(测试环境win2033+

Global site tag (gtag.js) - Google Analytics