`

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方式的运用)

    其中一种常用的方法就是使用`LIMIT`子句(尽管Oracle数据库本身不直接支持标准SQL中的`LIMIT`关键字,但可以通过其他方式模拟其功能)。本文将详细介绍如何在Oracle中实现类似`LIMIT`的关键字来完成分页查询。 ####...

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

    `testlimit.exe`是一个专门用于Windows系统下的内存压力测试工具,它可以帮助用户了解系统的内存管理能力,检测系统的稳定性和内存使用极限。这个工具通过模拟高内存占用情况,可以暴露潜在的系统瓶颈和内存泄漏问题...

    limit传参的使用方法

    ### 使用LIMIT传参的方法 在MySQL数据库操作过程中,`LIMIT`子句是非常实用的一个功能,尤其是在需要限制查询结果集大小的情况下。本文将详细介绍如何在MySQL中使用`LIMIT`结合参数化查询来实现灵活且安全的数据...

    mysql delete limit 使用方法详解

    当`ORDER BY`子句与`LIMIT`一起使用时,`DELETE`会按照指定的排序顺序删除行。这在你需要按特定顺序(如时间戳)删除数据时非常有用。以下是一个示例: ```sql DELETE FROM somelog WHERE user = 'jcole' ORDER ...

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

    【使用limit,offset分页场景时为什么会慢】 在SQL查询中,使用`LIMIT`和`OFFSET`进行分页操作在大数据量的情况下可能会变得极其缓慢。这是因为`OFFSET`需要跳过指定数量的行,而数据库必须读取并忽略这些行,这在...

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

    日常开发中,我们使用mysql来实现分页功能的时候,总是会用到mysql的limit语法.而怎么使用却很有讲究的,今天来总结一下. limit语法 limit语法支持两个参数,offset和limit,前者表示偏移量,后者表示取前limit条数据. ...

    mysql踩坑之limit与sum函数混合使用问题详解

    在MySQL数据库中,`LIMIT` 与聚合函数如 `SUM()` 混合使用时,可能会引发一些预期之外的问题。本文将深入探讨这个问题,并提供解决方案。 首先,让我们回顾一下问题的背景。假设我们有一个名为 `order` 的订单表,...

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

    对于非常大的数据集,使用`LIMIT`和`OFFSET`可能效率较低,因为数据库需要扫描和跳过许多行。在这种情况下,可以考虑使用其他查询策略,如`ROW_NUMBER()`窗口函数(在某些数据库系统中)。 总之,SQLite的`LIMIT`...

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

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

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

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

    p-limit, 运行多个保证并发的&异步函数.zip

    p-limit, 运行多个保证并发的&异步函数 限制 运行多个保证并发的&异步函数安装$ npm install p-limit用法const pLimit = require('p-limit');const limit = pLim

    Mysql_limit.zip_limit

    下面我们将深入探讨`LIMIT`子句的工作原理,以及如何在实际应用中有效地使用它。 1. `LIMIT`子句的基本语法: `LIMIT`子句通常放在`SELECT`语句的末尾,其基本语法如下: ```sql SELECT column1, column2, ... FROM...

    mybatis代码生成limit分页修复

    然而,在使用MBG进行分页查询时,可能会遇到一些问题,如“limit分页修复”所提及的。这篇博客文章《mybatis代码生成limit分页修复》可能探讨了在MBG生成的代码中,如何处理分页查询时遇到的问题,特别是与`LIMIT` ...

    nginx限制连接数ngx_http_limit_conn_module模块1

    这里的 `$binary_remote_addr` 变量用于表示客户端的 IP 地址,使用它比 `$remote_addr` 更节省内存,因为 `$binary_remote_addr` 的长度固定为 4 字节。 #### 2.2 limit_conn_log_level 指令 **语法:** `limit_...

    MYSQL分页limit速度太慢的优化方法

    如果主键是自增的整数,如`uid`,可以使用大于等于主键的查询,如`SELECT * FROM users WHERE uid &gt; 456891 ORDER BY uid LIMIT 0, 10;`。这种方式避免了大`OFFSET`,提高了效率。 5. **复合索引**: 对于`ORDER ...

    milter-limit安装指南

    3. **兼容性问题**:确认所使用的版本之间是否存在兼容性问题,尤其是 Postfix 与 milter-limit 之间的版本兼容性。 4. **性能问题**:若发现邮件处理速度变慢,可能需要调整 milter-limit 的配置以提高效率。 5. ...

    mysql分页之limit优化技巧

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

    ebt_limit.rar_limit

    综上所述,这个压缩包中的内容涉及到了Linux网络安全,特别是使用Ebtables进行出站流量限制。这是一项关键的技术,用于保护服务器免受大量恶意数据包的冲击,确保网络资源的有效利用和系统稳定运行。通过分析ebt_...

Global site tag (gtag.js) - Google Analytics